/**********************************************************
 * ctcs_api.h
 * Date:
 * Author: auto generate from include file
 **********************************************************/
#ifndef _CTC_APIS_H
#define _CTC_APIS_H
#ifdef __cplusplus
extern "C" {
#endif
/**********************************************************
 * 
 * Header file
 * 
 **********************************************************/
#include "sal_types.h"
#include "ctc_error.h"
#include "ctc_const.h"
#include "ctc_acl.h"
#include "ctc_aps.h"
#include "ctc_bheader.h"
#include "ctc_bpe.h"
#include "ctc_chip.h"
#include "ctc_cpu_traffic.h"
#include "ctc_dma.h"
#include "ctc_efd.h"
#include "ctc_fcoe.h"
#include "ctc_ftm.h"
#include "ctc_internal_port.h"
#include "ctc_interrupt.h"
#include "ctc_ipfix.h"
#include "ctc_ipmc.h"
#include "ctc_ipuc.h"
#include "ctc_l2.h"
#include "ctc_l3if.h"
#include "ctc_learning_aging.h"
#include "ctc_linkagg.h"
#include "ctc_mirror.h"
#include "ctc_monitor.h"
#include "ctc_mpls.h"
#include "ctc_nexthop.h"
#include "ctc_oam.h"
#include "ctc_overlay_tunnel.h"
#include "ctc_packet.h"
#include "ctc_parser.h"
#include "ctc_pdu.h"
#include "ctc_port.h"
#include "ctc_ptp.h"
#include "ctc_qos.h"
#include "ctc_register.h"
#include "ctc_scl.h"
#include "ctc_security.h"
#include "ctc_sgmac.h"
#include "ctc_stacking.h"
#include "ctc_stats.h"
#include "ctc_sync_ether.h"
#include "ctc_trill.h"
#include "ctc_vlan.h"
/**********************************************************
 * 
 * Defines and macros
 * 
 **********************************************************/
struct ctcs_api_s
{
    char *chip_name;
    /*##acl##*/
    int32(*ctcs_acl_add_entry)(uint8, uint32, ctc_acl_entry_t*);
    int32(*ctcs_acl_clear_stats)(uint8, uint32);
    int32(*ctcs_acl_copy_entry)(uint8, ctc_acl_copy_entry_t*);
    int32(*ctcs_acl_create_group)(uint8, uint32, ctc_acl_group_info_t*);
    int32(*ctcs_acl_destroy_group)(uint8, uint32);
    int32(*ctcs_acl_get_group_info)(uint8, uint32, ctc_acl_group_info_t*);
    int32(*ctcs_acl_get_multi_entry)(uint8, ctc_acl_query_t*);
    int32(*ctcs_acl_get_stats)(uint8, uint32, ctc_stats_basic_t*);
    int32(*ctcs_acl_init)(uint8, ctc_acl_global_cfg_t*);
    int32(*ctcs_acl_install_entry)(uint8, uint32);
    int32(*ctcs_acl_install_group)(uint8, uint32, ctc_acl_group_info_t*);
    int32(*ctcs_acl_remove_all_entry)(uint8, uint32);
    int32(*ctcs_acl_remove_entry)(uint8, uint32);
    int32(*ctcs_acl_set_entry_priority)(uint8, uint32, uint32);
    int32(*ctcs_acl_set_hash_field_sel)(uint8, ctc_acl_hash_field_sel_t*);
    int32(*ctcs_acl_uninstall_entry)(uint8, uint32);
    int32(*ctcs_acl_uninstall_group)(uint8, uint32);
    int32(*ctcs_acl_update_action)(uint8, uint32, ctc_acl_action_t*);
    /*##aps##*/
    int32(*ctcs_aps_create_aps_bridge_group)(uint8, uint16, ctc_aps_bridge_group_t*);
    int32(*ctcs_aps_create_raps_mcast_group)(uint8, uint16);
    int32(*ctcs_aps_destroy_aps_bridge_group)(uint8, uint16);
    int32(*ctcs_aps_destroy_raps_mcast_group)(uint8, uint16);
    int32(*ctcs_aps_get_aps_bridge_protection_path)(uint8, uint16, uint16*);
    int32(*ctcs_aps_get_aps_bridge)(uint8, uint16, bool*);
    int32(*ctcs_aps_get_aps_bridge_working_path)(uint8, uint16, uint16*);
    int32(*ctcs_aps_get_aps_select)(uint8, uint16, bool*);
    int32(*ctcs_aps_init)(uint8, void*);
    int32(*ctcs_aps_set_aps_bridge_group)(uint8, uint16, ctc_aps_bridge_group_t*);
    int32(*ctcs_aps_set_aps_bridge_protection_path)(uint8, uint16, uint32);
    int32(*ctcs_aps_set_aps_bridge)(uint8, uint16, bool);
    int32(*ctcs_aps_set_aps_bridge_working_path)(uint8, uint16, uint32);
    int32(*ctcs_aps_set_aps_select)(uint8, uint16, bool);
    int32(*ctcs_aps_update_raps_mcast_member)(uint8, ctc_raps_member_t*);
    /*##bheader##*/
    int32(*ctcs_bheader_decap)(uint8, void*, uint16, ctc_bheader_rx_info_t*);
    int32(*ctcs_bheader_encap)(uint8, ctc_bheader_tx_info_t*, void*, uint16*);
    /*##bpe##*/
    int32(*ctcs_bpe_get_intlk_en)(uint8, bool*);
    int32(*ctcs_bpe_get_port_extender)(uint8, uint32, bool*);
    int32(*ctcs_bpe_init)(uint8, void*);
    int32(*ctcs_bpe_set_intlk_en)(uint8, bool);
    int32(*ctcs_bpe_set_port_extender)(uint8, uint32, ctc_bpe_extender_t*);
    /*##chip##*/
    int32(*ctcs_chip_get_access_type)(uint8, ctc_chip_access_type_t*);
    int32(*ctcs_chip_get_gpio_input)(uint8, uint8, uint8*);
    int32(*ctcs_chip_get_mdio_clock)(uint8, ctc_chip_mdio_type_t, uint16*);
    int32(*ctcs_chip_get_phy_mapping)(uint8, ctc_chip_phy_mapping_para_t*);
    int32(*ctcs_chip_get_property)(uint8, ctc_chip_property_t, void*);
    int32(*ctcs_chip_i2c_read)(uint8, ctc_chip_i2c_read_t*);
    int32(*ctcs_chip_i2c_write)(uint8, ctc_chip_i2c_write_t*);
    int32(*ctcs_chip_init)(uint8, uint8);
    int32(*ctcs_chip_mdio_read)(uint8, ctc_chip_mdio_type_t, ctc_chip_mdio_para_t*);
    int32(*ctcs_chip_mdio_write)(uint8, ctc_chip_mdio_type_t, ctc_chip_mdio_para_t*);
    int32(*ctcs_chip_read_gephy_reg)(uint8, uint32, ctc_chip_gephy_para_t*);
    int32(*ctcs_chip_read_i2c_buf)(uint8, ctc_chip_i2c_scan_read_t*);
    int32(*ctcs_chip_read_xgphy_reg)(uint8, uint32, ctc_chip_xgphy_para_t*);
    int32(*ctcs_chip_set_access_type)(uint8, ctc_chip_access_type_t);
    int32(*ctcs_chip_set_gephy_scan_special_reg)(uint8, ctc_chip_ge_opt_reg_t*, bool);
    int32(*ctcs_chip_set_gpio_mode)(uint8, uint8, ctc_chip_gpio_mode_t);
    int32(*ctcs_chip_set_gpio_output)(uint8, uint8, uint8);
    int32(*ctcs_chip_set_hss12g_enable)(uint8, uint8, ctc_chip_serdes_mode_t, uint8);
    int32(*ctcs_chip_set_i2c_scan_en)(uint8, bool);
    int32(*ctcs_chip_set_i2c_scan_para)(uint8, ctc_chip_i2c_scan_t*);
    int32(*ctcs_chip_set_mac_led_en)(uint8, bool);
    int32(*ctcs_chip_set_mac_led_mapping)(uint8, ctc_chip_mac_led_mapping_t*);
    int32(*ctcs_chip_set_mac_led_mode)(uint8, ctc_chip_led_para_t*, ctc_chip_mac_led_type_t);
    int32(*ctcs_chip_set_mdio_clock)(uint8, ctc_chip_mdio_type_t, uint16);
    int32(*ctcs_chip_set_phy_mapping)(uint8, ctc_chip_phy_mapping_para_t*);
    int32(*ctcs_chip_set_phy_scan_en)(uint8, bool);
    int32(*ctcs_chip_set_phy_scan_para)(uint8, ctc_chip_phy_scan_ctrl_t*);
    int32(*ctcs_chip_set_property)(uint8, ctc_chip_property_t, void*);
    int32(*ctcs_chip_set_serdes_mode)(uint8, ctc_chip_serdes_info_t*);
    int32(*ctcs_chip_set_xgphy_scan_special_reg)(uint8, ctc_chip_xg_opt_reg_t*, uint8);
    int32(*ctcs_chip_write_gephy_reg)(uint8, uint32, ctc_chip_gephy_para_t*);
    int32(*ctcs_chip_write_xgphy_reg)(uint8, uint32, ctc_chip_xgphy_para_t*);
    int32(*ctcs_datapath_get_mode)(uint8, uint8, ctc_chip_datapath_mode_t*);
    int32(*ctcs_data_path_init)(uint8, ctc_chip_reset_cb, ctc_chip_datapath_t*, char*);
    int32(*ctcs_datapath_init)(uint8, void*);
    int32(*ctcs_datapath_set_mode)(uint8, uint8, ctc_chip_datapath_mode_t);
    int32(*ctcs_datapath_sim_init)(uint8);
    int32(*ctcs_get_chip_clock)(uint8, uint16*);
    int32(*ctcs_get_chip_sensor)(uint8, ctc_chip_sensor_type_t, uint32*);
    int32(*ctcs_get_gchip_id)(uint8, uint8*);
    int32(*ctcs_get_local_chip_num)(uint8, uint8*);
    int32(*ctcs_get_serdes_mode)(uint8, uint16, ctc_serdes_mode_t*);
    int32(*ctcs_init_pll_hss)(uint8);
    int32(*ctcs_parity_error_init)(uint8);
    int32(*ctcs_parse_datapath)(uint8, char*);
    int32(*ctcs_set_chip_global_cfg)(uint8, ctc_chip_global_cfg_t*);
    int32(*ctcs_set_gchip_id)(uint8, uint8);
    int32(*ctcs_set_serdes_mode)(uint8, uint16, ctc_serdes_mode_t);
    /*##cpu_traffic##*/
    int32(*ctcs_cpu_traffic_init)(uint8, void*);
    int32(*ctcs_cpu_traffic_set_exception)(uint8, uint8, uint16, ctc_excp_dest_type_t);
    int32(*ctcs_cpu_traffic_set_fatal_exception)(uint8, uint8, uint16, ctc_excp_dest_type_t);
    /*##dma##*/
    int32(*ctcs_dma_init)(uint8, ctc_dma_global_cfg_t*);
    int32(*ctcs_dma_rw_table)(uint8, ctc_dma_tbl_rw_t*);
    int32(*ctcs_dma_tx_pkt)(uint8, ctc_pkt_tx_t*);
    /*##efd##*/
    int32(*ctcs_efd_get_global_ctl)(uint8, ctc_efd_global_control_type_t, void*);
    int32(*ctcs_efd_init)(uint8, void*);
    int32(*ctcs_efd_register_cb)(uint8, ctc_efd_fn_t, void*);
    int32(*ctcs_efd_set_global_ctl)(uint8, ctc_efd_global_control_type_t, void*);
    /*##fcoe##*/
    int32(*ctcs_fcoe_add_route)(uint8, ctc_fcoe_route_t*);
    int32(*ctcs_fcoe_init)(uint8, void*);
    int32(*ctcs_fcoe_remove_route)(uint8, ctc_fcoe_route_t*);
    /*##ftm##*/
    int32(*ctcs_ftm_mem_alloc)(uint8, ctc_ftm_profile_info_t*);
    int32(*ctcs_ftm_set_default_profile)(uint8, ctc_ftm_profile_info_t*);
    int32(*ctcs_ftm_show_alloc_info)(uint8);
    /*##internal_port##*/
    int32(*ctcs_alloc_internal_port)(uint8, ctc_internal_port_assign_para_t*);
    int32(*ctcs_free_internal_port)(uint8, ctc_internal_port_assign_para_t*);
    int32(*ctcs_internal_port_init)(uint8, void*);
    int32(*ctcs_set_internal_port)(uint8, ctc_internal_port_assign_para_t*);
    /*##interrupt##*/
    int32(*ctcs_interrupt_clear_fatal_intr)(uint8, uint8);
    int32(*ctcs_interrupt_clear_normal_intr)(uint8, uint8);
    int32(*ctcs_interrupt_clear_status)(uint8, ctc_intr_type_t*);
    int32(*ctcs_interrupt_clear_sub_normal_intr)(uint8, ctc_interrupt_normal_intr_type_t, uint8);
    int32(*ctcs_interrupt_deinit)(uint8);
    int32(*ctcs_interrupt_disable_fatal_intr)(uint8, uint8);
    int32(*ctcs_interrupt_disable_normal_intr)(uint8, uint8);
    int32(*ctcs_interrupt_disable_sub_normal_intr)(uint8, ctc_interrupt_normal_intr_type_t, uint8);
    int32(*ctcs_interrupt_enable_fatal_intr)(uint8, uint8);
    int32(*ctcs_interrupt_enable_normal_intr)(uint8, uint8);
    int32(*ctcs_interrupt_enable_sub_normal_intr)(uint8, ctc_interrupt_normal_intr_type_t, uint8);
    int32(*ctcs_interrupt_get_en)(uint8, ctc_intr_type_t*, uint32*);
    int32(*ctcs_interrupt_get_fatal_intr_status)(uint8, uint8, ctc_interrupt_fatal_intr_status_t*);
    int32(*ctcs_interrupt_get_normal_all_intr_status)(uint8, uint32*);
    int32(*ctcs_interrupt_get_normal_intr_status)(uint8, uint8, bool*);
    int32(*ctcs_interrupt_get_status)(uint8, ctc_intr_type_t*, ctc_intr_status_t*);
    int32(*ctcs_interrupt_init)(uint8, void*);
    int32(*ctcs_interrupt_reg_init_end)(uint8);
    int32(*ctcs_interrupt_reg_init_start)(uint8);
    int32(*ctcs_interrupt_register_event_cb)(uint8, ctc_interrupt_event_t, CTC_INTERRUPT_EVENT_FUNC);
    int32(*ctcs_interrupt_set_en)(uint8, ctc_intr_type_t*, uint32);
    /*##ipfix##*/
    int32(*ctcs_ipfix_add_entry)(uint8, ctc_ipfix_data_t*);
    int32(*ctcs_ipfix_delete_entry)(uint8, ctc_ipfix_data_t*);
    int32(*ctcs_ipfix_get_global_cfg)(uint8, ctc_ipfix_global_cfg_t*);
    int32(*ctcs_ipfix_get_port_cfg)(uint8, uint32, ctc_ipfix_port_cfg_t*);
    int32(*ctcs_ipfix_init)(uint8, void*);
    int32(*ctcs_ipfix_register_cb)(uint8, ctc_ipfix_fn_t, void*);
    int32(*ctcs_ipfix_set_global_cfg)(uint8, ctc_ipfix_global_cfg_t*);
    int32(*ctcs_ipfix_set_hash_field_sel)(uint8, ctc_ipfix_hash_field_sel_t*);
    int32(*ctcs_ipfix_set_port_cfg)(uint8, uint32, ctc_ipfix_port_cfg_t*);
    int32(*ctcs_ipfix_traverse)(uint8, ctc_ipfix_traverse_fn, ctc_ipfix_traverse_t*);
    /*##ipmc##*/
    int32(*ctcs_ipmc_add_default_entry)(uint8, uint8, ctc_ipmc_default_action_t);
    int32(*ctcs_ipmc_add_group)(uint8, ctc_ipmc_group_info_t*);
    int32(*ctcs_ipmc_add_member)(uint8, ctc_ipmc_group_info_t*);
    int32(*ctcs_ipmc_add_rp_intf)(uint8, ctc_ipmc_rp_t*);
    int32(*ctcs_ipmc_clear_stats)(uint8, ctc_ipmc_group_info_t*);
    int32(*ctcs_ipmc_get_group_info)(uint8, ctc_ipmc_group_info_t*);
    int32(*ctcs_ipmc_get_mcast_force_route)(uint8, ctc_ipmc_force_route_t*);
    int32(*ctcs_ipmc_get_stats)(uint8, ctc_ipmc_group_info_t*, ctc_stats_basic_t*);
    int32(*ctcs_ipmc_init)(uint8, void*);
    int32(*ctcs_ipmc_remove_group)(uint8, ctc_ipmc_group_info_t*);
    int32(*ctcs_ipmc_remove_member)(uint8, ctc_ipmc_group_info_t*);
    int32(*ctcs_ipmc_remove_rp_intf)(uint8, ctc_ipmc_rp_t*);
    int32(*ctcs_ipmc_set_mcast_force_route)(uint8, ctc_ipmc_force_route_t*);
    int32(*ctcs_ipmc_traverse)(uint8, uint8, ctc_ipmc_traverse_fn, void*);
    int32(*ctcs_ipmc_update_rpf)(uint8, ctc_ipmc_group_info_t*);
    /*##ipuc##*/
    int32(*ctcs_ipuc_add_default_entry)(uint8, uint8, uint32);
    int32(*ctcs_ipuc_add_nat_sa)(uint8, ctc_ipuc_nat_sa_param_t*);
    int32(*ctcs_ipuc_add_tunnel)(uint8, ctc_ipuc_tunnel_param_t*);
    int32(*ctcs_ipuc_add)(uint8, ctc_ipuc_param_t*);
    int32(*ctcs_ipuc_arrange_fragment)(uint8, void*);
    int32(*ctcs_ipuc_cpu_rpf_check)(uint8, bool);
    int32(*ctcs_ipuc_get)(uint8, ctc_ipuc_param_t*);
    int32(*ctcs_ipuc_init)(uint8, void*);
    int32(*ctcs_ipuc_ipv6_enable)(uint8, bool);
    int32(*ctcs_ipuc_remove_nat_sa)(uint8, ctc_ipuc_nat_sa_param_t*);
    int32(*ctcs_ipuc_remove_tunnel)(uint8, ctc_ipuc_tunnel_param_t*);
    int32(*ctcs_ipuc_remove)(uint8, ctc_ipuc_param_t*);
    int32(*ctcs_ipuc_set_global_property)(uint8, ctc_ipuc_global_property_t*);
    int32(*ctcs_ipuc_set_lookup_ctl)(uint8, ctc_ipuc_global_property_t*);
    int32(*ctcs_ipuc_set_route_ctl)(uint8, ctc_ipuc_global_property_t*);
    int32(*ctcs_ipuc_traverse)(uint8, uint8, void*, void*);
    /*##l2##*/
    int32(*ctcs_l2_add_default_entry)(uint8, ctc_l2dflt_addr_t*);
    int32(*ctcs_l2_add_fdb)(uint8, ctc_l2_addr_t*);
    int32(*ctcs_l2_add_fdb_with_nexthop)(uint8, ctc_l2_addr_t*, uint32);
    int32(*ctcs_l2_add_port_to_default_entry)(uint8, ctc_l2dflt_addr_t*);
    int32(*ctcs_l2_fdb_init)(uint8, void*);
    int32(*ctcs_l2_flush_fdb)(uint8, ctc_l2_flush_fdb_t*);
    int32(*ctcs_l2_get_default_entry_features)(uint8, ctc_l2dflt_addr_t*);
    int32(*ctcs_l2_get_fdb_by_index)(uint8, uint32, ctc_l2_addr_t*);
    int32(*ctcs_l2_get_fdb_count)(uint8, ctc_l2_fdb_query_t*);
    int32(*ctcs_l2_get_fdb_entry)(uint8, ctc_l2_fdb_query_t*, ctc_l2_fdb_query_rst_t*);
    int32(*ctcs_l2_get_fid_property)(uint8, uint16, ctc_l2_fid_property_t, uint32*);
    int32(*ctcs_l2_get_nhid_by_logic_port)(uint8, uint16, uint32*);
    int32(*ctcs_l2mcast_add_addr)(uint8, ctc_l2_mcast_addr_t*);
    int32(*ctcs_l2mcast_add_member)(uint8, ctc_l2_mcast_addr_t*);
    int32(*ctcs_l2mcast_remove_addr)(uint8, ctc_l2_mcast_addr_t*);
    int32(*ctcs_l2mcast_remove_member)(uint8, ctc_l2_mcast_addr_t*);
    int32(*ctcs_l2_remove_default_entry)(uint8, ctc_l2dflt_addr_t*);
    int32(*ctcs_l2_remove_fdb_by_index)(uint8, uint32);
    int32(*ctcs_l2_remove_fdb)(uint8, ctc_l2_addr_t*);
    int32(*ctcs_l2_remove_port_from_default_entry)(uint8, ctc_l2dflt_addr_t*);
    int32(*ctcs_l2_set_default_entry_features)(uint8, ctc_l2dflt_addr_t*);
    int32(*ctcs_l2_set_fid_property)(uint8, uint16, ctc_l2_fid_property_t, uint32);
    int32(*ctcs_l2_set_nhid_by_logic_port)(uint8, uint16, uint32);
    /*##l3if##*/
    int32(*ctcs_l3if_add_ecmp_if_member)(uint8, uint16, uint16);
    int32(*ctcs_l3if_add_vmac_low_8bit)(uint8, uint16, ctc_l3if_vmac_t*);
    int32(*ctcs_l3if_create_ecmp_if)(uint8, ctc_l3if_ecmp_if_t*);
    int32(*ctcs_l3if_create)(uint8, uint16, ctc_l3if_t*);
    int32(*ctcs_l3if_destory_ecmp_if)(uint8, uint16);
    int32(*ctcs_l3if_destory)(uint8, uint16, ctc_l3if_t*);
    int32(*ctcs_l3if_get_interface_router_mac)(uint8, uint16, ctc_l3if_router_mac_t*);
    int32(*ctcs_l3if_get_l3if_id)(uint8, ctc_l3if_t*, uint16*);
    int32(*ctcs_l3if_get_property)(uint8, uint16, ctc_l3if_property_t, uint32*);
    int32(*ctcs_l3if_get_router_mac)(uint8, mac_addr_t);
    int32(*ctcs_l3if_get_vmac_low_8bit)(uint8, uint16, ctc_l3if_vmac_t*);
    int32(*ctcs_l3if_get_vmac_prefix)(uint8, ctc_l3if_route_mac_type_t, mac_addr_t);
    int32(*ctcs_l3if_init)(uint8, void*);
    int32(*ctcs_l3if_remove_ecmp_if_member)(uint8, uint16, uint16);
    int32(*ctcs_l3if_remove_vmac_low_8bit)(uint8, uint16, ctc_l3if_vmac_t*);
    int32(*ctcs_l3if_set_interface_router_mac)(uint8, uint16, ctc_l3if_router_mac_t);
    int32(*ctcs_l3if_set_property)(uint8, uint16, ctc_l3if_property_t, uint32);
    int32(*ctcs_l3if_set_router_mac)(uint8, mac_addr_t);
    int32(*ctcs_l3if_set_vmac_prefix)(uint8, ctc_l3if_route_mac_type_t, mac_addr_t);
    int32(*ctcs_l3if_set_vrf_stats_en)(uint8, ctc_l3if_vrf_stats_t*);
    /*##learning_aging##*/
    int32(*ctcs_aging_get_aging_status)(uint8, uint32, ctc_aging_status_t*);
    int32(*ctcs_aging_get_property)(uint8, ctc_aging_table_type_t, ctc_aging_prop_t, uint32*);
    int32(*ctcs_aging_read_aging_fifo)(uint8, ctc_aging_fifo_info_t*);
    int32(*ctcs_aging_set_property)(uint8, ctc_aging_table_type_t, ctc_aging_prop_t, uint32);
    int32(*ctcs_get_learning_action)(uint8, ctc_learning_action_info_t*);
    int32(*ctcs_learning_aging_init)(uint8, void*);
    int32(*ctcs_learning_clear_learning_cache)(uint8, uint16);
    int32(*ctcs_learning_get_cache_entry_valid_bitmap)(uint8, uint16*);
    int32(*ctcs_learning_read_learning_cache)(uint8, uint16, ctc_learning_cache_t*);
    int32(*ctcs_set_learning_action)(uint8, ctc_learning_action_info_t*);
    /*##linkagg##*/
    int32(*ctcs_linkagg_add_port)(uint8, uint8, uint32);
    int32(*ctcs_linkagg_create)(uint8, ctc_linkagg_group_t*);
    int32(*ctcs_linkagg_destroy)(uint8, uint8);
    int32(*ctcs_linkagg_get_1st_local_port)(uint8, uint8, uint16*, uint8*);
    int32(*ctcs_linkagg_get_max_mem_num)(uint8, uint8*);
    int32(*ctcs_linkagg_get_member_ports)(uint8, uint8, uint16*, uint8*);
    int32(*ctcs_linkagg_get_psc)(uint8, ctc_linkagg_psc_t*);
    int32(*ctcs_linkagg_init)(uint8, void*);
    int32(*ctcs_linkagg_remove_port)(uint8, uint8, uint32);
    int32(*ctcs_linkagg_set_psc)(uint8, ctc_linkagg_psc_t*);
    /*##mirror##*/
    int32(*ctcs_mirror_add_session)(uint8, ctc_mirror_dest_t*);
    int32(*ctcs_mirror_get_mirror_discard)(uint8, ctc_direction_t, ctc_mirror_discard_t, bool*);
    int32(*ctcs_mirror_get_port_info)(uint8, uint32, ctc_direction_t, bool*, uint8*);
    int32(*ctcs_mirror_get_vlan_info)(uint8, uint16, ctc_direction_t, bool*, uint8*);
    int32(*ctcs_mirror_init)(uint8, void*);
    int32(*ctcs_mirror_remove_session)(uint8, ctc_mirror_dest_t*);
    int32(*ctcs_mirror_set_erspan_psc)(uint8, ctc_mirror_erspan_psc_t*);
    int32(*ctcs_mirror_set_escape_en)(uint8, bool);
    int32(*ctcs_mirror_set_escape_mac)(uint8, ctc_mirror_rspan_escape_t*);
    int32(*ctcs_mirror_set_mirror_discard)(uint8, ctc_direction_t, uint16, bool);
    int32(*ctcs_mirror_set_port_en)(uint8, uint32, ctc_direction_t, bool, uint8);
    int32(*ctcs_mirror_set_vlan_en)(uint8, uint16, ctc_direction_t, bool, uint8);
    /*##monitor##*/
    int32(*ctcs_monitor_clear_watermark)(uint8, ctc_monitor_watermark_t*);
    int32(*ctcs_monitor_get_config)(uint8, ctc_monitor_config_t*);
    int32(*ctcs_monitor_get_watermark)(uint8, ctc_monitor_watermark_t*);
    int32(*ctcs_monitor_init)(uint8, void*);
    int32(*ctcs_monitor_register_cb)(uint8, ctc_monitor_fn_t, void*);
    int32(*ctcs_monitor_set_config)(uint8, ctc_monitor_config_t*);
    int32(*ctcs_monitor_set_global_config)(uint8, ctc_monitor_glb_cfg_t*);
    /*##mpls##*/
    int32(*ctcs_mpls_add_ilm)(uint8, ctc_mpls_ilm_t*);
    int32(*ctcs_mpls_add_l2vpn_pw)(uint8, ctc_mpls_l2vpn_pw_t*);
    int32(*ctcs_mpls_add_stats)(uint8, ctc_mpls_stats_index_t*);
    int32(*ctcs_mpls_clear_in_sqn)(uint8, uint8);
    int32(*ctcs_mpls_clear_out_sqn)(uint8, uint8);
    int32(*ctcs_mpls_clear_stats)(uint8, ctc_mpls_stats_index_t*);
    int32(*ctcs_mpls_del_ilm)(uint8, ctc_mpls_ilm_t*);
    int32(*ctcs_mpls_del_l2vpn_pw)(uint8, ctc_mpls_l2vpn_pw_t*);
    int32(*ctcs_mpls_get_ilm)(uint8, uint32*, ctc_mpls_ilm_t*);
    int32(*ctcs_mpls_get_stats)(uint8, ctc_mpls_stats_index_t*, ctc_stats_basic_t*);
    int32(*ctcs_mpls_init)(uint8, ctc_mpls_init_t*);
    int32(*ctcs_mpls_remove_stats)(uint8, ctc_mpls_stats_index_t*);
    int32(*ctcs_mpls_set_ilm_property)(uint8, ctc_mpls_property_t*);
    int32(*ctcs_mpls_update_ilm)(uint8, ctc_mpls_ilm_t*);
    /*##nexthop##*/
    int32(*ctcs_nexthop_init)(uint8, ctc_nh_global_cfg_t*);
    int32(*ctcs_nh_add_ecmp)(uint8, uint32, ctc_nh_ecmp_nh_param_t*);
    int32(*ctcs_nh_add_iloop)(uint8, uint32, ctc_loopback_nexthop_param_t*);
    int32(*ctcs_nh_add_ip_tunnel)(uint8, uint32, ctc_ip_tunnel_nh_param_t*);
    int32(*ctcs_nh_add_ipuc)(uint8, uint32, ctc_ip_nh_param_t*);
    int32(*ctcs_nh_add_l2uc)(uint8, uint32, ctc_nh_param_brguc_sub_type_t);
    int32(*ctcs_nh_add_mcast)(uint8, uint32, ctc_mcast_nh_param_group_t*);
    int32(*ctcs_nh_add_misc)(uint8, uint32, ctc_misc_nh_param_t*);
    int32(*ctcs_nh_add_mpls_tunnel_label)(uint8, uint16, ctc_mpls_nexthop_tunnel_param_t*);
    int32(*ctcs_nh_add_mpls)(uint8, uint32, ctc_mpls_nexthop_param_t*);
    int32(*ctcs_nh_add_nexthop_mac)(uint8, uint16, ctc_nh_nexthop_mac_param_t*);
    int32(*ctcs_nh_add_rspan)(uint8, uint32, ctc_rspan_nexthop_param_t*);
    int32(*ctcs_nh_add_stats)(uint8, uint32);
    int32(*ctcs_nh_add_trill)(uint8, uint32, ctc_nh_trill_param_t*);
    int32(*ctcs_nh_add_xlate)(uint8, uint32, ctc_vlan_edit_nh_param_t*);
    int32(*ctcs_nh_clear_stats)(uint8, ctc_nh_stats_info_t*);
    int32(*ctcs_nh_del_stats)(uint8, uint32);
    int32(*ctcs_nh_get_l2uc)(uint8, uint32, ctc_nh_param_brguc_sub_type_t, uint32*);
    int32(*ctcs_nh_get_max_ecmp)(uint8, uint16*);
    int32(*ctcs_nh_get_mcast_nh)(uint8, uint32, uint32*);
    int32(*ctcs_nh_get_nh_info)(uint8, uint32, ctc_nh_info_t*);
    int32(*ctcs_nh_get_resolved_dsnh_offset)(uint8, ctc_nh_reserved_dsnh_offset_type_t, uint32*);
    int32(*ctcs_nh_get_stats)(uint8, ctc_nh_stats_info_t*);
    int32(*ctcs_nh_remove_ecmp)(uint8, uint32);
    int32(*ctcs_nh_remove_iloop)(uint8, uint32);
    int32(*ctcs_nh_remove_ip_tunnel)(uint8, uint32);
    int32(*ctcs_nh_remove_ipuc)(uint8, uint32);
    int32(*ctcs_nh_remove_l2uc)(uint8, uint32);
    int32(*ctcs_nh_remove_mcast)(uint8, uint32);
    int32(*ctcs_nh_remove_misc)(uint8, uint32);
    int32(*ctcs_nh_remove_mpls_tunnel_label)(uint8, uint16);
    int32(*ctcs_nh_remove_mpls)(uint8, uint32);
    int32(*ctcs_nh_remove_nexthop_mac)(uint8, uint16);
    int32(*ctcs_nh_remove_rspan)(uint8, uint32);
    int32(*ctcs_nh_remove_trill)(uint8, uint32);
    int32(*ctcs_nh_remove_xlate)(uint8, uint32);
    int32(*ctcs_nh_set_global_config)(uint8, ctc_nh_global_cfg_t*);
    int32(*ctcs_nh_set_max_ecmp)(uint8, uint16);
    int32(*ctcs_nh_set_nh_drop)(uint8, uint32, ctc_nh_drop_info_t*);
    int32(*ctcs_nh_swap_mpls_tunnel_label)(uint8, uint16, uint16);
    int32(*ctcs_nh_update_ecmp)(uint8, uint32, ctc_nh_ecmp_nh_param_t*);
    int32(*ctcs_nh_update_ip_tunnel)(uint8, uint32, ctc_ip_tunnel_nh_param_t*);
    int32(*ctcs_nh_update_ipuc)(uint8, uint32, ctc_ip_nh_param_t*);
    int32(*ctcs_nh_update_mcast)(uint8, uint32, ctc_mcast_nh_param_group_t*);
    int32(*ctcs_nh_update_mpls_tunnel_label)(uint8, uint16, ctc_mpls_nexthop_tunnel_param_t*);
    int32(*ctcs_nh_update_mpls)(uint8, uint32, ctc_mpls_nexthop_param_t*);
    int32(*ctcs_nh_update_nexthop_mac)(uint8, uint16, ctc_nh_nexthop_mac_param_t*);
    int32(*ctcs_nh_update_trill)(uint8, uint32, ctc_nh_trill_param_t*);
    /*##oam##*/
    int32(*ctcs_oam_add_chan)(uint8, ctc_oam_chan_t*);
    int32(*ctcs_oam_add_lmep)(uint8, ctc_oam_lmep_t*);
    int32(*ctcs_oam_add_maid)(uint8, ctc_oam_maid_t*);
    int32(*ctcs_oam_add_mip)(uint8, ctc_oam_mip_t*);
    int32(*ctcs_oam_add_rmep)(uint8, ctc_oam_rmep_t*);
    int32(*ctcs_oam_clear_trpt_stats)(uint8, uint8, uint8);
    int32(*ctcs_oam_get_defect_info)(uint8, void*);
    int32(*ctcs_oam_get_mep_info)(uint8, ctc_oam_mep_info_t*);
    int32(*ctcs_oam_get_mep_info_with_key)(uint8, ctc_oam_mep_info_with_key_t*);
    int32(*ctcs_oam_get_stats)(uint8, ctc_oam_stats_info_t*);
    int32(*ctcs_oam_get_trpt_stats)(uint8, uint8, uint8, ctc_oam_trpt_stats_t*);
    int32(*ctcs_oam_init)(uint8, ctc_oam_global_t*);
    int32(*ctcs_oam_remove_chan)(uint8, ctc_oam_chan_t*);
    int32(*ctcs_oam_remove_lmep)(uint8, ctc_oam_lmep_t*);
    int32(*ctcs_oam_remove_maid)(uint8, ctc_oam_maid_t*);
    int32(*ctcs_oam_remove_mip)(uint8, ctc_oam_mip_t*);
    int32(*ctcs_oam_remove_rmep)(uint8, ctc_oam_rmep_t*);
    int32(*ctcs_oam_set_property)(uint8, ctc_oam_property_t*);
    int32(*ctcs_oam_set_trpt_cfg)(uint8, ctc_oam_trpt_t*);
    int32(*ctcs_oam_set_trpt_en)(uint8, uint8, uint8, uint8);
    int32(*ctcs_oam_update_lmep)(uint8, ctc_oam_update_t*);
    int32(*ctcs_oam_update_rmep)(uint8, ctc_oam_update_t*);
    /*##overlay_tunnel##*/
    int32(*ctcs_overlay_tunnel_add_tunnel)(uint8, ctc_overlay_tunnel_param_t*);
    int32(*ctcs_overlay_tunnel_get_fid)(uint8, uint32, uint16*);
    int32(*ctcs_overlay_tunnel_init)(uint8, void*);
    int32(*ctcs_overlay_tunnel_remove_tunnel)(uint8, ctc_overlay_tunnel_param_t*);
    int32(*ctcs_overlay_tunnel_set_fid)(uint8, uint32, uint16);
    int32(*ctcs_overlay_tunnel_update_tunnel)(uint8, ctc_overlay_tunnel_param_t*);
    /*##packet##*/
    int32(*ctcs_packet_decap)(uint8, ctc_pkt_rx_t*);
    int32(*ctcs_packet_encap)(uint8, ctc_pkt_tx_t*);
    int32(*ctcs_packet_init)(uint8, void*);
    int32(*ctcs_packet_tx)(uint8, ctc_pkt_tx_t*);
    /*##parser##*/
    int32(*ctcs_parser_enable_l3_type)(uint8, ctc_parser_l3_type_t, bool);
    int32(*ctcs_parser_get_ecmp_hash_field)(uint8, ctc_parser_ecmp_hash_ctl_t*);
    int32(*ctcs_parser_get_global_cfg)(uint8, ctc_parser_global_cfg_t*);
    int32(*ctcs_parser_get_ipv6_ctl)(uint8, uint8, ctc_parser_ipv6_ctl_t*);
    int32(*ctcs_parser_get_l2_flex_header)(uint8, ctc_parser_l2flex_header_t*);
    int32(*ctcs_parser_get_l3_flex_header)(uint8, ctc_parser_l3flex_header_t*);
    int32(*ctcs_parser_get_l4_app_ctl)(uint8, ctc_parser_l4app_ctl_t*);
    int32(*ctcs_parser_get_l4_app_data_ctl)(uint8, uint8, ctc_parser_l4_app_data_entry_t*);
    int32(*ctcs_parser_get_l4_flex_header)(uint8, ctc_parser_l4flex_header_t*);
    int32(*ctcs_parser_get_l4_len_op_ctl)(uint8, uint8, uint16*);
    int32(*ctcs_parser_get_l4_ptp_ctl)(uint8, ctc_parser_ptp_ctl_t*);
    int32(*ctcs_parser_get_max_length_filed)(uint8, uint16*);
    int32(*ctcs_parser_get_pbb_header)(uint8, ctc_parser_pbb_header_t*);
    int32(*ctcs_parser_get_tpid)(uint8, ctc_parser_l2_tpid_t, uint16*);
    int32(*ctcs_parser_get_trill_header)(uint8, ctc_parser_trill_header_t*);
    int32(*ctcs_parser_get_udf)(uint8, uint32, ctc_parser_udf_t*);
    int32(*ctcs_parser_get_udp_app_op_ctl)(uint8, uint8, ctc_parser_udp_app_op_ctl_t*);
    int32(*ctcs_parser_get_vlan_parser_num)(uint8, uint8*);
    int32(*ctcs_parser_init)(uint8, void*);
    int32(*ctcs_parser_l2_enable_l3_type)(uint8, ctc_parser_l3_type_t, bool);
    int32(*ctcs_parser_l3_enable_l4_type)(uint8, ctc_parser_l4_type_t, bool);
    int32(*ctcs_parser_map_l3_type)(uint8, uint8, ctc_parser_l2_protocol_entry_t*);
    int32(*ctcs_parser_map_l4_type)(uint8, uint8, ctc_parser_l3_protocol_entry_t*);
    int32(*ctcs_parser_set_ecmp_hash_field)(uint8, ctc_parser_ecmp_hash_ctl_t*);
    int32(*ctcs_parser_set_global_cfg)(uint8, ctc_parser_global_cfg_t*);
    int32(*ctcs_parser_set_ipv6_ctl)(uint8, uint8, ctc_parser_ipv6_ctl_t*);
    int32(*ctcs_parser_set_l2_flex_header)(uint8, ctc_parser_l2flex_header_t*);
    int32(*ctcs_parser_set_l3_flex_header)(uint8, ctc_parser_l3flex_header_t*);
    int32(*ctcs_parser_set_l4_app_ctl)(uint8, ctc_parser_l4app_ctl_t*);
    int32(*ctcs_parser_set_l4_app_data_ctl)(uint8, uint8, ctc_parser_l4_app_data_entry_t*);
    int32(*ctcs_parser_set_l4_flex_header)(uint8, ctc_parser_l4flex_header_t*);
    int32(*ctcs_parser_set_l4_len_op_ctl)(uint8, uint8, uint16);
    int32(*ctcs_parser_set_l4_ptp_ctl)(uint8, ctc_parser_ptp_ctl_t*);
    int32(*ctcs_parser_set_l4_type)(uint8, uint8, ctc_parser_l4_protocol_entry_t*);
    int32(*ctcs_parser_set_max_length_field)(uint8, uint16);
    int32(*ctcs_parser_set_pbb_header)(uint8, ctc_parser_pbb_header_t*);
    int32(*ctcs_parser_set_tpid)(uint8, ctc_parser_l2_tpid_t, uint16);
    int32(*ctcs_parser_set_trill_header)(uint8, ctc_parser_trill_header_t*);
    int32(*ctcs_parser_set_udf)(uint8, uint32, ctc_parser_udf_t*);
    int32(*ctcs_parser_set_udp_app_op_ctl)(uint8, uint8, ctc_parser_udp_app_op_ctl_t*);
    int32(*ctcs_parser_set_vlan_parser_num)(uint8, uint8);
    int32(*ctcs_parser_unmap_l3_type)(uint8, uint8);
    int32(*ctcs_parser_unmap_l4_type)(uint8, uint8);
    /*##pdu##*/
    int32(*ctcs_l2pdu_classify_l2pdu)(uint8, ctc_pdu_l2pdu_type_t, uint8, ctc_pdu_l2pdu_key_t*);
    int32(*ctcs_l2pdu_get_classified_key)(uint8, ctc_pdu_l2pdu_type_t, uint8, ctc_pdu_l2pdu_key_t*);
    int32(*ctcs_l2pdu_get_global_action)(uint8, ctc_pdu_l2pdu_type_t, uint8, ctc_pdu_global_l2pdu_action_t*);
    int32(*ctcs_l2pdu_get_port_action)(uint8, uint32, uint8, ctc_pdu_port_l2pdu_action_t*);
    int32(*ctcs_l2pdu_set_default_global_action)(uint8);
    int32(*ctcs_l2pdu_set_global_action)(uint8, ctc_pdu_l2pdu_type_t, uint8, ctc_pdu_global_l2pdu_action_t*);
    int32(*ctcs_l2pdu_set_port_action)(uint8, uint32, uint8, ctc_pdu_port_l2pdu_action_t);
    int32(*ctcs_l3pdu_classify_l3pdu)(uint8, ctc_pdu_l3pdu_type_t, uint8, ctc_pdu_l3pdu_key_t*);
    int32(*ctcs_l3pdu_get_classified_key)(uint8, ctc_pdu_l3pdu_type_t, uint8, ctc_pdu_l3pdu_key_t*);
    int32(*ctcs_l3pdu_get_global_action)(uint8, ctc_pdu_l3pdu_type_t, uint8, ctc_pdu_global_l3pdu_action_t*);
    int32(*ctcs_l3pdu_get_l3if_action)(uint8, uint16, uint8, ctc_pdu_l3if_l3pdu_action_t*);
    int32(*ctcs_l3pdu_set_default_global_action)(uint8);
    int32(*ctcs_l3pdu_set_global_action)(uint8, ctc_pdu_l3pdu_type_t, uint8, ctc_pdu_global_l3pdu_action_t*);
    int32(*ctcs_l3pdu_set_l3if_action)(uint8, uint16, uint8, ctc_pdu_l3if_l3pdu_action_t);
    int32(*ctcs_pdu_init)(uint8, void*);
    /*##port##*/
    int32(*ctcs_get_ipg_size)(uint8, ctc_ipg_size_t, uint8*);
    int32(*ctcs_get_max_frame_size)(uint8, ctc_frame_size_t, uint16*);
    int32(*ctcs_get_min_frame_size)(uint8, ctc_frame_size_t, uint16*);
    int32(*ctcs_port_get_bridge_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_cpu_mac_en)(uint8, bool*);
    int32(*ctcs_port_get_cross_connect)(uint8, uint32, uint32*);
    int32(*ctcs_port_get_default_vlan)(uint8, uint32, uint16*);
    int32(*ctcs_port_get_direction_property)(uint8, uint32, ctc_port_direction_property_t, ctc_direction_t, uint32*);
    int32(*ctcs_port_get_dot1q_type)(uint8, uint32, ctc_dot1q_type_t*);
    int32(*ctcs_port_get_flow_ctl_en)(uint8, ctc_port_fc_prop_t*);
    int32(*ctcs_port_get_ipg)(uint8, uint32, ctc_ipg_size_t*);
    int32(*ctcs_port_get_ipsg_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_keep_vlan_tag)(uint8, uint32, bool*);
    int32(*ctcs_port_get_learning_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_mac_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_mac_link_up)(uint8, uint32, bool*);
    int32(*ctcs_port_get_max_frame)(uint8, uint32, uint32*);
    int32(*ctcs_port_get_min_frame_size)(uint8, uint32, uint8*);
    int32(*ctcs_port_get_mux_demux_en)(uint8, uint32, ctc_port_mux_demux_type_t, bool*);
    int32(*ctcs_port_get_pading_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_phy_if_en)(uint8, uint32, uint16*, bool*);
    int32(*ctcs_port_get_port_check_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_port_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_port_mac)(uint8, uint32, mac_addr_t*);
    int32(*ctcs_port_get_preamble)(uint8, uint32, uint8*);
    int32(*ctcs_port_get_property)(uint8, uint32, ctc_port_property_t, uint32*);
    int32(*ctcs_port_get_protocol_vlan_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_random_log_en)(uint8, uint32, ctc_direction_t, bool*);
    int32(*ctcs_port_get_random_log_percent)(uint8, uint32, ctc_direction_t, uint8*);
    int32(*ctcs_port_get_receive_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_reflective_bridge_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_restriction)(uint8, uint32, ctc_port_restriction_t*);
    int32(*ctcs_port_get_scl_key_type)(uint8, uint32, ctc_direction_t, uint8, ctc_port_scl_key_type_t*);
    int32(*ctcs_port_get_scl_property)(uint8, uint32, ctc_port_scl_property_t*);
    int32(*ctcs_port_get_speed)(uint8, uint32, ctc_port_speed_t*);
    int32(*ctcs_port_get_srcdiscard_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_stag_tpid_index)(uint8, uint32, ctc_direction_t, uint8*);
    int32(*ctcs_port_get_stretch_mode_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_sub_if_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_transmit_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_untag_dft_vid)(uint8, uint32, bool*, bool*);
    int32(*ctcs_port_get_use_inner_cos)(uint8, uint32, bool*);
    int32(*ctcs_port_get_use_outer_ttl)(uint8, uint32, bool*);
    int32(*ctcs_port_get_vlan_classify_enable)(uint8, uint32, ctc_vlan_class_type_t*);
    int32(*ctcs_port_get_vlan_ctl)(uint8, uint32, ctc_vlantag_ctl_t*);
    int32(*ctcs_port_get_vlan_domain)(uint8, uint32, ctc_port_vlan_domain_type_t*);
    int32(*ctcs_port_get_vlan_filter_en)(uint8, uint32, ctc_direction_t, bool*);
    int32(*ctcs_port_get_vlan_mapping_en)(uint8, uint32, bool*);
    int32(*ctcs_port_get_vlan_range)(uint8, uint32, ctc_vlan_range_info_t*, bool*);
    int32(*ctcs_port_init)(uint8, void*);
    int32(*ctcs_port_set_auto_neg)(uint8, uint32, uint32);
    int32(*ctcs_port_set_bridge_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_cpu_mac_en)(uint8, bool);
    int32(*ctcs_port_set_cross_connect)(uint8, uint32, uint32);
    int32(*ctcs_port_set_default_cfg)(uint8, uint32);
    int32(*ctcs_port_set_default_vlan)(uint8, uint32, uint16);
    int32(*ctcs_port_set_direction_property)(uint8, uint32, ctc_port_direction_property_t, ctc_direction_t, uint32);
    int32(*ctcs_port_set_dot1q_type)(uint8, uint32, ctc_dot1q_type_t);
    int32(*ctcs_port_set_flow_ctl_en)(uint8, ctc_port_fc_prop_t*);
    int32(*ctcs_port_set_ipg)(uint8, uint32, ctc_ipg_size_t);
    int32(*ctcs_port_set_ipsg_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_keep_vlan_tag)(uint8, uint32, bool);
    int32(*ctcs_port_set_learning_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_link_intr)(uint8, uint32, uint32);
    int32(*ctcs_port_set_loopback)(uint8, ctc_port_lbk_param_t*);
    int32(*ctcs_port_set_mac_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_max_frame)(uint8, uint32, uint32);
    int32(*ctcs_port_set_min_frame_size)(uint8, uint32, uint8);
    int32(*ctcs_port_set_mux_demux_en)(uint8, uint32, ctc_port_mux_demux_type_t, bool);
    int32(*ctcs_port_set_pading_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_phy_if_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_port_check_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_port_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_port_mac_postfix)(uint8, uint32, ctc_port_mac_postfix_t*);
    int32(*ctcs_port_set_port_mac_prefix)(uint8, ctc_port_mac_prefix_t*);
    int32(*ctcs_port_set_preamble)(uint8, uint32, uint8);
    int32(*ctcs_port_set_property)(uint8, uint32, ctc_port_property_t, uint32);
    int32(*ctcs_port_set_protocol_vlan_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_random_log_en)(uint8, uint32, ctc_direction_t, bool);
    int32(*ctcs_port_set_random_log_percent)(uint8, uint32, ctc_direction_t, uint8);
    int32(*ctcs_port_set_receive_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_reflective_bridge_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_restriction)(uint8, uint32, ctc_port_restriction_t*);
    int32(*ctcs_port_set_scl_key_type)(uint8, uint32, ctc_direction_t, uint8, ctc_port_scl_key_type_t);
    int32(*ctcs_port_set_scl_property)(uint8, uint32, ctc_port_scl_property_t*);
    int32(*ctcs_port_set_speed)(uint8, uint32, ctc_port_speed_t);
    int32(*ctcs_port_set_srcdiscard_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_stag_tpid_index)(uint8, uint32, ctc_direction_t, uint8);
    int32(*ctcs_port_set_stretch_mode_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_sub_if_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_transmit_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_untag_dft_vid)(uint8, uint32, bool, bool);
    int32(*ctcs_port_set_use_inner_cos)(uint8, uint32, bool);
    int32(*ctcs_port_set_use_outer_ttl)(uint8, uint32, bool);
    int32(*ctcs_port_set_vlan_classify_disable)(uint8, uint32, ctc_vlan_class_type_t);
    int32(*ctcs_port_set_vlan_classify_enable)(uint8, uint32, ctc_vlan_class_type_t);
    int32(*ctcs_port_set_vlan_ctl)(uint8, uint32, ctc_vlantag_ctl_t);
    int32(*ctcs_port_set_vlan_domain)(uint8, uint32, ctc_port_vlan_domain_type_t);
    int32(*ctcs_port_set_vlan_filter_en)(uint8, uint32, ctc_direction_t, bool);
    int32(*ctcs_port_set_vlan_mapping_en)(uint8, uint32, bool);
    int32(*ctcs_port_set_vlan_range)(uint8, uint32, ctc_vlan_range_info_t*, bool);
    int32(*ctcs_set_ipg_size)(uint8, ctc_ipg_size_t, uint8);
    int32(*ctcs_set_max_frame_size)(uint8, ctc_frame_size_t, uint16);
    int32(*ctcs_set_min_frame_size)(uint8, ctc_frame_size_t, uint16);
    /*##ptp##*/
    int32(*ctcs_ptp_add_device_clock)(uint8, ctc_ptp_clock_t*);
    int32(*ctcs_ptp_adjust_clock_offset)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_clear_sync_intf_code)(uint8);
    int32(*ctcs_ptp_clear_tod_intf_code)(uint8);
    int32(*ctcs_ptp_get_adjust_delay)(uint8, uint32, ctc_ptp_adjust_delay_type_t, int64*);
    int32(*ctcs_ptp_get_captured_frc_ts)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_get_captured_rx_ts)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_get_captured_ts)(uint8, ctc_ptp_capured_ts_t*);
    int32(*ctcs_ptp_get_captured_tx_ts)(uint8, ctc_ptp_capured_ts_t*);
    int32(*ctcs_ptp_get_clock_drift)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_get_clock_timestamp)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_get_device_type)(uint8, ctc_ptp_device_type_t*);
    int32(*ctcs_ptp_get_frc_offset)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_get_frc)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_get_global_property)(uint8, ctc_ptp_global_prop_t, uint32*);
    int32(*ctcs_ptp_get_intr_bitmap)(uint8, uint32*);
    int32(*ctcs_ptp_get_sync_intf_code)(uint8, ctc_ptp_sync_intf_code_t*);
    int32(*ctcs_ptp_get_sync_intf_toggle_time)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_get_sync_intf)(uint8, ctc_ptp_sync_intf_cfg_t*);
    int32(*ctcs_ptp_get_tod_intf_rx_code)(uint8, ctc_ptp_tod_intf_code_t*);
    int32(*ctcs_ptp_get_tod_intf_tx_code)(uint8, ctc_ptp_tod_intf_code_t*);
    int32(*ctcs_ptp_get_tod_intf)(uint8, ctc_ptp_tod_intf_cfg_t*);
    int32(*ctcs_ptp_init)(uint8, ctc_ptp_global_config_t*);
    int32(*ctcs_ptp_port_enable)(uint8, uint32, bool);
    int32(*ctcs_ptp_remove_device_clock)(uint8, ctc_ptp_clock_t*);
    int32(*ctcs_ptp_set_adjust_delay)(uint8, uint32, ctc_ptp_adjust_delay_type_t, int64);
    int32(*ctcs_ptp_set_clock_drift)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_set_device_type)(uint8, ctc_ptp_device_type_t);
    int32(*ctcs_ptp_set_frc_offset)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_set_global_property)(uint8, ctc_ptp_global_prop_t, uint32);
    int32(*ctcs_ptp_set_sync_intf_toggle_time)(uint8, ctc_ptp_time_t*);
    int32(*ctcs_ptp_set_sync_intf)(uint8, ctc_ptp_sync_intf_cfg_t*);
    int32(*ctcs_ptp_set_tod_intf_tx_code)(uint8, ctc_ptp_tod_intf_code_t*);
    int32(*ctcs_ptp_set_tod_intf)(uint8, ctc_ptp_tod_intf_cfg_t*);
    int32(*ctcs_ptp_sync_intf_set_capture_ctl_mode)(uint8, uint8);
    /*##qos##*/
    int32(*ctcs_qos_clear_policer_stats)(uint8, ctc_qos_policer_stats_t*);
    int32(*ctcs_qos_clear_queue_stats)(uint8, ctc_qos_queue_stats_t*);
    int32(*ctcs_qos_create_service)(uint8, ctc_qos_service_info_t*);
    int32(*ctcs_qos_destroy_service)(uint8, ctc_qos_service_info_t*);
    int32(*ctcs_qos_get_domain_map)(uint8, ctc_qos_domain_map_t*);
    int32(*ctcs_qos_get_drop_scheme)(uint8, ctc_qos_drop_t*);
    int32(*ctcs_qos_get_global_config)(uint8, ctc_qos_glb_cfg_t*);
    int32(*ctcs_qos_get_policer)(uint8, ctc_qos_policer_t*);
    int32(*ctcs_qos_get_queue)(uint8, ctc_qos_queue_cfg_t*);
    int32(*ctcs_qos_get_sched)(uint8, ctc_qos_sched_t*);
    int32(*ctcs_qos_get_shape)(uint8, ctc_qos_shape_t*);
    int32(*ctcs_qos_init)(uint8, void*);
    int32(*ctcs_qos_query_policer_stats)(uint8, ctc_qos_policer_stats_t*);
    int32(*ctcs_qos_query_pool_stats)(uint8, ctc_qos_resrc_pool_stats_t*);
    int32(*ctcs_qos_query_queue_stats)(uint8, ctc_qos_queue_stats_t*);
    int32(*ctcs_qos_set_domain_map)(uint8, ctc_qos_domain_map_t*);
    int32(*ctcs_qos_set_drop_scheme)(uint8, ctc_qos_drop_t*);
    int32(*ctcs_qos_set_global_config)(uint8, ctc_qos_glb_cfg_t*);
    int32(*ctcs_qos_set_policer)(uint8, ctc_qos_policer_t*);
    int32(*ctcs_qos_set_queue)(uint8, ctc_qos_queue_cfg_t*);
    int32(*ctcs_qos_set_resrc)(uint8, ctc_qos_resrc_t*);
    int32(*ctcs_qos_set_sched)(uint8, ctc_qos_sched_t*);
    int32(*ctcs_qos_set_shape)(uint8, ctc_qos_shape_t*);
    /*##register##*/
    int32(*ctcs_global_ctl_get)(uint8, ctc_global_control_type_t, void*);
    int32(*ctcs_global_ctl_set)(uint8, ctc_global_control_type_t, void*);
    int32(*ctcs_register_init)(uint8, void*);
    /*##scl##*/
    int32(*ctcs_scl_add_entry)(uint8, uint32, ctc_scl_entry_t*);
    int32(*ctcs_scl_copy_entry)(uint8, ctc_scl_copy_entry_t*);
    int32(*ctcs_scl_create_group)(uint8, uint32, ctc_scl_group_info_t*);
    int32(*ctcs_scl_destroy_group)(uint8, uint32);
    int32(*ctcs_scl_get_group_info)(uint8, uint32, ctc_scl_group_info_t*);
    int32(*ctcs_scl_get_multi_entry)(uint8, ctc_scl_query_t*);
    int32(*ctcs_scl_init)(uint8, void*);
    int32(*ctcs_scl_install_entry)(uint8, uint32);
    int32(*ctcs_scl_install_group)(uint8, uint32, ctc_scl_group_info_t*);
    int32(*ctcs_scl_remove_all_entry)(uint8, uint32);
    int32(*ctcs_scl_remove_entry)(uint8, uint32);
    int32(*ctcs_scl_set_default_action)(uint8, ctc_scl_default_action_t*);
    int32(*ctcs_scl_set_entry_priority)(uint8, uint32, uint32);
    int32(*ctcs_scl_set_hash_field_sel)(uint8, ctc_scl_hash_field_sel_t*);
    int32(*ctcs_scl_uninstall_entry)(uint8, uint32);
    int32(*ctcs_scl_uninstall_group)(uint8, uint32);
    int32(*ctcs_scl_update_action)(uint8, uint32, ctc_scl_action_t*);
    /*##security##*/
    int32(*ctcs_ip_source_guard_add_entry)(uint8, ctc_security_ip_source_guard_elem_t*);
    int32(*ctcs_ip_source_guard_remove_entry)(uint8, ctc_security_ip_source_guard_elem_t*);
    int32(*ctcs_mac_security_get_learn_limit)(uint8, ctc_security_learn_limit_t*);
    int32(*ctcs_mac_security_get_port_mac_limit)(uint8, uint32, ctc_maclimit_action_t*);
    int32(*ctcs_mac_security_get_port_security)(uint8, uint32, bool*);
    int32(*ctcs_mac_security_get_system_mac_limit)(uint8, ctc_maclimit_action_t*);
    int32(*ctcs_mac_security_get_vlan_mac_limit)(uint8, uint16, ctc_maclimit_action_t*);
    int32(*ctcs_mac_security_set_learn_limit)(uint8, ctc_security_learn_limit_t*);
    int32(*ctcs_mac_security_set_port_mac_limit)(uint8, uint32, ctc_maclimit_action_t);
    int32(*ctcs_mac_security_set_port_security)(uint8, uint32, bool);
    int32(*ctcs_mac_security_set_system_mac_limit)(uint8, ctc_maclimit_action_t);
    int32(*ctcs_mac_security_set_vlan_mac_limit)(uint8, uint16, ctc_maclimit_action_t);
    int32(*ctcs_port_isolation_get_route_obey_isolated_en)(uint8, bool*);
    int32(*ctcs_port_isolation_set_route_obey_isolated_en)(uint8, bool);
    int32(*ctcs_security_init)(uint8, void*);
    int32(*ctcs_storm_ctl_get_cfg)(uint8, ctc_security_stmctl_cfg_t*);
    int32(*ctcs_storm_ctl_get_global_cfg)(uint8, ctc_security_stmctl_glb_cfg_t*);
    int32(*ctcs_storm_ctl_set_cfg)(uint8, ctc_security_stmctl_cfg_t*);
    int32(*ctcs_storm_ctl_set_global_cfg)(uint8, ctc_security_stmctl_glb_cfg_t*);
    /*##sgmac##*/
    int32(*ctcs_sgmac_add_trunk_member)(uint8, uint8, uint8);
    int32(*ctcs_sgmac_get_dual_mode)(uint8, bool*);
    int32(*ctcs_sgmac_get_port_egress_vlan_mapping)(uint8, uint32, bool*);
    int32(*ctcs_sgmac_get_register_base)(uint8, ctc_sgmac_reg_base_t, uint16*);
    int32(*ctcs_sgmac_get_trunk_en)(uint8, bool*);
    int32(*ctcs_sgmac_get_vlan_pfm)(uint8, uint16, uint8*);
    int32(*ctcs_sgmac_get_vplssrcport_enable)(uint8, uint16, bool*);
    int32(*ctcs_sgmac_init)(uint8, ctc_sgmac_t*);
    int32(*ctcs_sgmac_linkagg_add_member)(uint8, uint8, uint32);
    int32(*ctcs_sgmac_linkagg_create)(uint8, uint8);
    int32(*ctcs_sgmac_linkagg_remove_member)(uint8, uint8, uint32);
    int32(*ctcs_sgmac_linkagg_remove)(uint8, uint8);
    int32(*ctcs_sgmac_remove_trunk_member)(uint8, uint8, uint8);
    int32(*ctcs_sgmac_set_dual_mode)(uint8, bool);
    int32(*ctcs_sgmac_set_port_egress_vlan_mapping)(uint8, uint32, bool);
    int32(*ctcs_sgmac_set_register_base)(uint8, ctc_sgmac_reg_base_t, uint16);
    int32(*ctcs_sgmac_set_trunk_en)(uint8, bool);
    int32(*ctcs_sgmac_set_vlan_pfm)(uint8, uint16, uint8);
    int32(*ctcs_sgmac_set_vplssrcport_enable)(uint8, uint16, bool);
    int32(*ctcs_sgmac_show_qmgr_sgmac_ctl)(uint8);
    /*##stacking##*/
    int32(*ctcs_stacking_add_trunk_port)(uint8, ctc_stacking_trunk_t*);
    int32(*ctcs_stacking_add_trunk_rchip)(uint8, ctc_stacking_trunk_t*);
    int32(*ctcs_stacking_create_trunk)(uint8, ctc_stacking_trunk_t*);
    int32(*ctcs_stacking_destroy_trunk)(uint8, ctc_stacking_trunk_t*);
    int32(*ctcs_stacking_get_property)(uint8, ctc_stacking_property_t*);
    int32(*ctcs_stacking_init)(uint8, void*);
    int32(*ctcs_stacking_keeplive_add_member)(uint8, ctc_stacking_keeplive_t*);
    int32(*ctcs_stacking_keeplive_remove_member)(uint8, ctc_stacking_keeplive_t*);
    int32(*ctcs_stacking_remove_trunk_port)(uint8, ctc_stacking_trunk_t*);
    int32(*ctcs_stacking_remove_trunk_rchip)(uint8, ctc_stacking_trunk_t*);
    int32(*ctcs_stacking_set_property)(uint8, ctc_stacking_property_t*);
    /*##stats##*/
    int32(*ctcs_stats_clear_cpu_mac_stats)(uint8, uint32);
    int32(*ctcs_stats_clear_global_fwd_stats)(uint8, ctc_direction_t);
    int32(*ctcs_stats_clear_mac_stats)(uint8, uint32, ctc_mac_stats_dir_t);
    int32(*ctcs_stats_clear_port_log_stats)(uint8, uint32, ctc_direction_t);
    int32(*ctcs_stats_clear_port_stats)(uint8, uint32, ctc_direction_t);
    int32(*ctcs_stats_clear_stats)(uint8, uint32);
    int32(*ctcs_stats_create_statsid)(uint8, ctc_stats_statsid_t*);
    int32(*ctcs_stats_destroy_statsid)(uint8, uint32);
    int32(*ctcs_stats_get_cpu_mac_stats)(uint8, uint32, ctc_cpu_mac_stats_t*);
    int32(*ctcs_stats_get_drop_packet_stats_en)(uint8, ctc_stats_discard_t, bool*);
    int32(*ctcs_stats_get_global_cfg)(uint8, ctc_stats_property_param_t, ctc_stats_property_t*);
    int32(*ctcs_stats_get_mac_stats_cfg)(uint8, uint32, ctc_mac_stats_prop_type_t, ctc_mac_stats_property_t*);
    int32(*ctcs_stats_get_mac_stats)(uint8, uint32, ctc_mac_stats_dir_t, ctc_mac_stats_t*);
    int32(*ctcs_stats_get_port_log_stats)(uint8, uint32, ctc_direction_t, ctc_stats_basic_t*);
    int32(*ctcs_stats_get_port_stats_cfg)(uint8, ctc_direction_t, ctc_stats_port_stats_option_type_t*);
    int32(*ctcs_stats_get_stats)(uint8, uint32, ctc_stats_basic_t*);
    int32(*ctcs_stats_init)(uint8, void*);
    int32(*ctcs_stats_intr_callback_func)(uint8, uint8*);
    int32(*ctcs_stats_register_cb)(uint8, ctc_stats_sync_fn_t, void*);
    int32(*ctcs_stats_set_drop_packet_stats_en)(uint8, ctc_stats_discard_t, bool);
    int32(*ctcs_stats_set_global_cfg)(uint8, ctc_stats_property_param_t, ctc_stats_property_t);
    int32(*ctcs_stats_set_mac_stats_cfg)(uint8, uint32, ctc_mac_stats_prop_type_t, ctc_mac_stats_property_t);
    int32(*ctcs_stats_set_port_stats_cfg)(uint8, ctc_direction_t, ctc_stats_port_stats_option_type_t);
    int32(*ctcs_stats_set_syncup_cb_internal)(uint8, uint32);
    /*##stp##*/
    int32(*ctcs_stp_clear_all_inst_state)(uint8, uint32);
    int32(*ctcs_stp_get_state)(uint8, uint32, uint8, uint8*);
    int32(*ctcs_stp_get_vlan_stpid)(uint8, uint16, uint8*);
    int32(*ctcs_stp_init)(uint8, void*);
    int32(*ctcs_stp_set_state)(uint8, uint32, uint8, uint8);
    int32(*ctcs_stp_set_vlan_stpid)(uint8, uint16, uint8);
    /*##sync_ether##*/
    int32(*ctcs_sync_ether_get_cfg)(uint8, uint8, ctc_sync_ether_cfg_t*);
    int32(*ctcs_sync_ether_init)(uint8, void*);
    int32(*ctcs_sync_ether_set_cfg)(uint8, uint8, ctc_sync_ether_cfg_t*);
    /*##trill##*/
    int32(*ctcs_trill_add_route)(uint8, ctc_trill_route_t*);
    int32(*ctcs_trill_add_tunnel)(uint8, ctc_trill_tunnel_t*);
    int32(*ctcs_trill_init)(uint8, void*);
    int32(*ctcs_trill_remove_route)(uint8, ctc_trill_route_t*);
    int32(*ctcs_trill_remove_tunnel)(uint8, ctc_trill_tunnel_t*);
    /*##usrid##*/
    int32(*ctcs_usrid_init)(uint8, void*);
    /*##vlan##*/
    int32(*ctcs_vlan_add_default_egress_vlan_mapping)(uint8, uint32, ctc_vlan_miss_t*);
    int32(*ctcs_vlan_add_default_vlan_class)(uint8, ctc_vlan_class_type_t, ctc_vlan_miss_t*);
    int32(*ctcs_vlan_add_default_vlan_mapping)(uint8, uint32, ctc_vlan_miss_t*);
    int32(*ctcs_vlan_add_egress_vlan_mapping)(uint8, uint32, ctc_egress_vlan_mapping_t*);
    int32(*ctcs_vlan_add_port)(uint8, uint16, uint32);
    int32(*ctcs_vlan_add_vlan_class)(uint8, ctc_vlan_class_t*);
    int32(*ctcs_vlan_add_vlan_mapping)(uint8, uint32, ctc_vlan_mapping_t*);
    int32(*ctcs_vlan_add_vlan_range)(uint8, ctc_vlan_range_info_t*, ctc_vlan_range_t*);
    int32(*ctcs_vlan_create_uservlan)(uint8, ctc_vlan_uservlan_t*);
    int32(*ctcs_vlan_create_vlan_range_group)(uint8, ctc_vlan_range_info_t*, bool);
    int32(*ctcs_vlan_create_vlan)(uint8, uint16);
    int32(*ctcs_vlan_destroy_vlan_range_group)(uint8, ctc_vlan_range_info_t*);
    int32(*ctcs_vlan_destroy_vlan)(uint8, uint16);
    int32(*ctcs_vlan_get_arp_excp_type)(uint8, uint16, ctc_exception_type_t*);
    int32(*ctcs_vlan_get_bridge_en)(uint8, uint16, bool*);
    int32(*ctcs_vlan_get_dhcp_excp_type)(uint8, uint16, ctc_exception_type_t*);
    int32(*ctcs_vlan_get_direction_property)(uint8, uint16, ctc_vlan_direction_property_t, ctc_direction_t, uint32*);
    int32(*ctcs_vlan_get_fid)(uint8, uint16, uint16*);
    int32(*ctcs_vlan_get_igmp_snoop_en)(uint8, uint16, bool*);
    int32(*ctcs_vlan_get_learning_en)(uint8, uint16, bool*);
    int32(*ctcs_vlan_get_ports)(uint8, uint16, uint8, ctc_port_bitmap_t);
    int32(*ctcs_vlan_get_property)(uint8, uint16, ctc_vlan_property_t, uint32*);
    int32(*ctcs_vlan_get_receive_en)(uint8, uint16, bool*);
    int32(*ctcs_vlan_get_replace_dspc_en)(uint8, uint16, bool*);
    int32(*ctcs_vlan_get_tagged_ports)(uint8, uint16, uint8, ctc_port_bitmap_t);
    int32(*ctcs_vlan_get_transmit_en)(uint8, uint16, bool*);
    int32(*ctcs_vlan_get_vlan_range_type)(uint8, ctc_vlan_range_info_t*, bool*);
    int32(*ctcs_vlan_get_vlan_range)(uint8, ctc_vlan_range_info_t*, ctc_vlan_range_group_t*, uint8*);
    int32(*ctcs_vlan_init)(uint8, ctc_vlan_global_cfg_t*);
    int32(*ctcs_vlan_remove_all_egress_vlan_mapping_by_port)(uint8, uint32);
    int32(*ctcs_vlan_remove_all_vlan_class)(uint8, ctc_vlan_class_type_t);
    int32(*ctcs_vlan_remove_all_vlan_mapping_by_port)(uint8, uint32);
    int32(*ctcs_vlan_remove_default_egress_vlan_mapping)(uint8, uint32);
    int32(*ctcs_vlan_remove_default_vlan_class)(uint8, ctc_vlan_class_type_t);
    int32(*ctcs_vlan_remove_default_vlan_mapping)(uint8, uint32);
    int32(*ctcs_vlan_remove_egress_vlan_mapping)(uint8, uint32, ctc_egress_vlan_mapping_t*);
    int32(*ctcs_vlan_remove_port)(uint8, uint16, uint32);
    int32(*ctcs_vlan_remove_vlan_class)(uint8, ctc_vlan_class_t*);
    int32(*ctcs_vlan_remove_vlan_mapping)(uint8, uint32, ctc_vlan_mapping_t*);
    int32(*ctcs_vlan_remove_vlan_range)(uint8, ctc_vlan_range_info_t*, ctc_vlan_range_t*);
    int32(*ctcs_vlan_set_arp_excp_type)(uint8, uint16, ctc_exception_type_t);
    int32(*ctcs_vlan_set_bridge_en)(uint8, uint16, bool);
    int32(*ctcs_vlan_set_dhcp_excp_type)(uint8, uint16, ctc_exception_type_t);
    int32(*ctcs_vlan_set_direction_property)(uint8, uint16, ctc_vlan_direction_property_t, ctc_direction_t, uint32);
    int32(*ctcs_vlan_set_fid)(uint8, uint16, uint16);
    int32(*ctcs_vlan_set_igmp_snoop_en)(uint8, uint16, bool);
    int32(*ctcs_vlan_set_learning_en)(uint8, uint16, bool);
    int32(*ctcs_vlan_set_property)(uint8, uint16, ctc_vlan_property_t, uint32);
    int32(*ctcs_vlan_set_receive_en)(uint8, uint16, bool);
    int32(*ctcs_vlan_set_replace_dscp_en)(uint8, uint16, bool);
    int32(*ctcs_vlan_set_tagged_port)(uint8, uint16, uint32, bool);
    int32(*ctcs_vlan_set_transmit_en)(uint8, uint16, bool);
    int32(*ctcs_vlan_update_vlan_mapping)(uint8, uint32, ctc_vlan_mapping_t*);
};
typedef struct ctcs_api_s ctcs_api_t;
extern uint8 g_ctcs_api_en;
/**********************************************************
 * 
 * Functions
 * 
 **********************************************************/
extern int32 ctcs_install_api();
extern int32 ctcs_uninstall_api();
extern int32 ctcs_acl_add_entry(uint8 lchip, uint32 group_id, ctc_acl_entry_t* acl_entry);
extern int32 ctcs_acl_clear_stats(uint8 lchip, uint32 entry_id);
extern int32 ctcs_acl_copy_entry(uint8 lchip, ctc_acl_copy_entry_t* copy_entry);
extern int32 ctcs_acl_create_group(uint8 lchip, uint32 group_id, ctc_acl_group_info_t* group_info);
extern int32 ctcs_acl_destroy_group(uint8 lchip, uint32 group_id);
extern int32 ctcs_acl_get_group_info(uint8 lchip, uint32 group_id, ctc_acl_group_info_t* group_info);
extern int32 ctcs_acl_get_multi_entry(uint8 lchip, ctc_acl_query_t* query);
extern int32 ctcs_acl_get_stats(uint8 lchip, uint32 entry_id, ctc_stats_basic_t* stats);
extern int32 ctcs_acl_init(uint8 lchip, ctc_acl_global_cfg_t* acl_global_cfg);
extern int32 ctcs_acl_install_entry(uint8 lchip, uint32 entry_id);
extern int32 ctcs_acl_install_group(uint8 lchip, uint32 group_id, ctc_acl_group_info_t* group_info);
extern int32 ctcs_acl_remove_all_entry(uint8 lchip, uint32 group_id);
extern int32 ctcs_acl_remove_entry(uint8 lchip, uint32 entry_id);
extern int32 ctcs_acl_set_entry_priority(uint8 lchip, uint32 entry_id, uint32 priority);
extern int32 ctcs_acl_set_hash_field_sel(uint8 lchip, ctc_acl_hash_field_sel_t* field_sel);
extern int32 ctcs_acl_uninstall_entry(uint8 lchip, uint32 entry_id);
extern int32 ctcs_acl_uninstall_group(uint8 lchip, uint32 group_id);
extern int32 ctcs_acl_update_action(uint8 lchip, uint32 entry_id, ctc_acl_action_t* action);
extern int32 ctcs_aps_create_aps_bridge_group(uint8 lchip, uint16 aps_bridge_group_id, ctc_aps_bridge_group_t* aps_group);
extern int32 ctcs_aps_create_raps_mcast_group(uint8 lchip, uint16 group_id);
extern int32 ctcs_aps_destroy_aps_bridge_group(uint8 lchip, uint16 aps_bridge_group_id);
extern int32 ctcs_aps_destroy_raps_mcast_group(uint8 lchip, uint16 group_id);
extern int32 ctcs_aps_get_aps_bridge_protection_path(uint8 lchip, uint16 aps_bridge_group_id, uint16* gport);
extern int32 ctcs_aps_get_aps_bridge(uint8 lchip, uint16 aps_bridge_group_id, bool* protect_en);
extern int32 ctcs_aps_get_aps_bridge_working_path(uint8 lchip, uint16 aps_bridge_group_id, uint16* gport);
extern int32 ctcs_aps_get_aps_select(uint8 lchip, uint16 aps_select_group_id, bool* protect_en);
extern int32 ctcs_aps_init(uint8 lchip, void* aps_global_cfg);
extern int32 ctcs_aps_set_aps_bridge_group(uint8 lchip, uint16 aps_bridge_group_id, ctc_aps_bridge_group_t* aps_group);
extern int32 ctcs_aps_set_aps_bridge_protection_path(uint8 lchip, uint16 aps_bridge_group_id, uint32 gport);
extern int32 ctcs_aps_set_aps_bridge(uint8 lchip, uint16 aps_bridge_group_id, bool protect_en);
extern int32 ctcs_aps_set_aps_bridge_working_path(uint8 lchip, uint16 aps_bridge_group_id, uint32 gport);
extern int32 ctcs_aps_set_aps_select(uint8 lchip, uint16 aps_select_group_id, bool protect_en);
extern int32 ctcs_aps_update_raps_mcast_member(uint8 lchip, ctc_raps_member_t* p_raps_mem);
extern int32 ctcs_bheader_decap(uint8 lchip, void* pkt, uint16 pkt_len, ctc_bheader_rx_info_t* rx_info);
extern int32 ctcs_bheader_encap(uint8 lchip, ctc_bheader_tx_info_t* tx_info, void* pkt, uint16* pkt_len);
extern int32 ctcs_bpe_get_intlk_en(uint8 lchip, bool* enable);
extern int32 ctcs_bpe_get_port_extender(uint8 lchip, uint32 gport, bool* enable);
extern int32 ctcs_bpe_init(uint8 lchip, void* bpe_global_cfg);
extern int32 ctcs_bpe_set_intlk_en(uint8 lchip, bool enable);
extern int32 ctcs_bpe_set_port_extender(uint8 lchip, uint32 gport, ctc_bpe_extender_t* p_extender);
extern int32 ctcs_chip_get_access_type(uint8 lchip, ctc_chip_access_type_t* p_access_type);
extern int32 ctcs_chip_get_gpio_input(uint8 lchip, uint8 gpio_id, uint8* in_value);
extern int32 ctcs_chip_get_mdio_clock(uint8 lchip, ctc_chip_mdio_type_t type, uint16* p_freq);
extern int32 ctcs_chip_get_phy_mapping(uint8 lchip, ctc_chip_phy_mapping_para_t* phy_mapping_para);
extern int32 ctcs_chip_get_property(uint8 lchip, ctc_chip_property_t chip_prop, void* p_value);
extern int32 ctcs_chip_i2c_read(uint8 lchip, ctc_chip_i2c_read_t* p_i2c_para);
extern int32 ctcs_chip_i2c_write(uint8 lchip, ctc_chip_i2c_write_t* i2c_para);
extern int32 ctcs_chip_init(uint8 lchip, uint8 lchip_num);
extern int32 ctcs_chip_mdio_read(uint8 lchip, ctc_chip_mdio_type_t type, ctc_chip_mdio_para_t* p_para);
extern int32 ctcs_chip_mdio_write(uint8 lchip, ctc_chip_mdio_type_t type, ctc_chip_mdio_para_t* p_para);
extern int32 ctcs_chip_read_gephy_reg(uint8 lchip, uint32 gport, ctc_chip_gephy_para_t* gephy_para);
extern int32 ctcs_chip_read_i2c_buf(uint8 lchip, ctc_chip_i2c_scan_read_t* p_i2c_scan_read);
extern int32 ctcs_chip_read_xgphy_reg(uint8 lchip, uint32 gport, ctc_chip_xgphy_para_t* xgphy_para);
extern int32 ctcs_chip_set_access_type(uint8 lchip, ctc_chip_access_type_t access_type);
extern int32 ctcs_chip_set_gephy_scan_special_reg(uint8 lchip, ctc_chip_ge_opt_reg_t* p_scan_opt, bool enable);
extern int32 ctcs_chip_set_gpio_mode(uint8 lchip, uint8 gpio_id, ctc_chip_gpio_mode_t mode);
extern int32 ctcs_chip_set_gpio_output(uint8 lchip, uint8 gpio_id, uint8 out_para);
extern int32 ctcs_chip_set_hss12g_enable(uint8 lchip, uint8 macro_id, ctc_chip_serdes_mode_t mode, uint8 enable);
extern int32 ctcs_chip_set_i2c_scan_en(uint8 lchip, bool enable);
extern int32 ctcs_chip_set_i2c_scan_para(uint8 lchip, ctc_chip_i2c_scan_t* p_i2c_para);
extern int32 ctcs_chip_set_mac_led_en(uint8 lchip, bool enable);
extern int32 ctcs_chip_set_mac_led_mapping(uint8 lchip, ctc_chip_mac_led_mapping_t* p_led_map);
extern int32 ctcs_chip_set_mac_led_mode(uint8 lchip, ctc_chip_led_para_t* p_led_para, ctc_chip_mac_led_type_t led_type);
extern int32 ctcs_chip_set_mdio_clock(uint8 lchip, ctc_chip_mdio_type_t type, uint16 freq);
extern int32 ctcs_chip_set_phy_mapping(uint8 lchip, ctc_chip_phy_mapping_para_t* phy_mapping_para);
extern int32 ctcs_chip_set_phy_scan_en(uint8 lchip, bool enable);
extern int32 ctcs_chip_set_phy_scan_para(uint8 lchip, ctc_chip_phy_scan_ctrl_t* p_scan_para);
extern int32 ctcs_chip_set_property(uint8 lchip, ctc_chip_property_t chip_prop, void* p_value);
extern int32 ctcs_chip_set_serdes_mode(uint8 lchip, ctc_chip_serdes_info_t* p_serdes_info);
extern int32 ctcs_chip_set_xgphy_scan_special_reg(uint8 lchip, ctc_chip_xg_opt_reg_t* scan_opt, uint8 enable);
extern int32 ctcs_chip_write_gephy_reg(uint8 lchip, uint32 gport, ctc_chip_gephy_para_t* gephy_para);
extern int32 ctcs_chip_write_xgphy_reg(uint8 lchip, uint32 gport, ctc_chip_xgphy_para_t* xgphy_para);
extern int32 ctcs_datapath_get_mode(uint8 lchip, uint8 gchip, ctc_chip_datapath_mode_t* pmode);
extern int32 ctcs_data_path_init(uint8 lchip, ctc_chip_reset_cb reset_cb, ctc_chip_datapath_t* chip_datapath, char* datapath_config_file);
extern int32 ctcs_datapath_init(uint8 lchip, void* p_global_cfg);
extern int32 ctcs_datapath_set_mode(uint8 lchip, uint8 gchip, ctc_chip_datapath_mode_t datapath_mode);
extern int32 ctcs_datapath_sim_init(uint8 lchip);
extern int32 ctcs_get_chip_clock(uint8 lchip, uint16* freq);
extern int32 ctcs_get_chip_sensor(uint8 lchip, ctc_chip_sensor_type_t type, uint32* p_value);
extern int32 ctcs_get_gchip_id(uint8 lchip, uint8* gchip_id);
extern int32 ctcs_get_local_chip_num(uint8 lchip, uint8* lchip_num);
extern int32 ctcs_get_serdes_mode(uint8 lchip, uint16 gserdes_id, ctc_serdes_mode_t* serdes_mode);
extern int32 ctcs_init_pll_hss(uint8 lchip);
extern int32 ctcs_parity_error_init(uint8 lchip);
extern int32 ctcs_parse_datapath(uint8 lchip, char* datapath_config_file);
extern int32 ctcs_set_chip_global_cfg(uint8 lchip, ctc_chip_global_cfg_t* chip_cfg);
extern int32 ctcs_set_gchip_id(uint8 lchip, uint8 gchip_id);
extern int32 ctcs_set_serdes_mode(uint8 lchip, uint16 gserdes_id, ctc_serdes_mode_t serdes_mode);
extern int32 ctcs_cpu_traffic_init(uint8 lchip, void* p_global_cfg);
extern int32 ctcs_cpu_traffic_set_exception(uint8 lchip, uint8 excp, uint16 dest_id, ctc_excp_dest_type_t dest_type);
extern int32 ctcs_cpu_traffic_set_fatal_exception(uint8 lchip, uint8 excp, uint16 dest_id, ctc_excp_dest_type_t dest_type);
extern int32 ctcs_dma_init(uint8 lchip, ctc_dma_global_cfg_t* dma_global_cfg);
extern int32 ctcs_dma_rw_table(uint8 lchip, ctc_dma_tbl_rw_t* tbl_cfg);
extern int32 ctcs_dma_tx_pkt(uint8 lchip, ctc_pkt_tx_t* tx_cfg);
extern int32 ctcs_efd_get_global_ctl(uint8 lchip, ctc_efd_global_control_type_t type, void* value);
extern int32 ctcs_efd_init(uint8 lchip, void* p_global_cfg);
extern int32 ctcs_efd_register_cb(uint8 lchip, ctc_efd_fn_t callback, void* userdata);
extern int32 ctcs_efd_set_global_ctl(uint8 lchip, ctc_efd_global_control_type_t type, void* value);
extern int32 ctcs_fcoe_add_route(uint8 lchip, ctc_fcoe_route_t* p_fcoe_route);
extern int32 ctcs_fcoe_init(uint8 lchip, void* fcoe_global_cfg);
extern int32 ctcs_fcoe_remove_route(uint8 lchip, ctc_fcoe_route_t* p_fcoe_route);
extern int32 ctcs_ftm_mem_alloc(uint8 lchip, ctc_ftm_profile_info_t* ctc_profile_info);
extern int32 ctcs_ftm_set_default_profile(uint8 lchip, ctc_ftm_profile_info_t* ctc_profile_info);
extern int32 ctcs_ftm_show_alloc_info(uint8 lchip);
extern int32 ctcs_alloc_internal_port(uint8 lchip, ctc_internal_port_assign_para_t* port_assign);
extern int32 ctcs_free_internal_port(uint8 lchip, ctc_internal_port_assign_para_t* port_assign);
extern int32 ctcs_internal_port_init(uint8 lchip, void* p_global_cfg);
extern int32 ctcs_set_internal_port(uint8 lchip, ctc_internal_port_assign_para_t* port_assign);
extern int32 ctcs_interrupt_clear_fatal_intr(uint8 lchip, uint8 type);
extern int32 ctcs_interrupt_clear_normal_intr(uint8 lchip, uint8 type);
extern int32 ctcs_interrupt_clear_status(uint8 lchip, ctc_intr_type_t* p_type);
extern int32 ctcs_interrupt_clear_sub_normal_intr(uint8 lchip, ctc_interrupt_normal_intr_type_t type, uint8 bit_offset);
extern int32 ctcs_interrupt_deinit(uint8 lchip);
extern int32 ctcs_interrupt_disable_fatal_intr(uint8 lchip, uint8 type);
extern int32 ctcs_interrupt_disable_normal_intr(uint8 lchip, uint8 type);
extern int32 ctcs_interrupt_disable_sub_normal_intr(uint8 lchip, ctc_interrupt_normal_intr_type_t type, uint8 bit_offset);
extern int32 ctcs_interrupt_enable_fatal_intr(uint8 lchip, uint8 type);
extern int32 ctcs_interrupt_enable_normal_intr(uint8 lchip, uint8 type);
extern int32 ctcs_interrupt_enable_sub_normal_intr(uint8 lchip, ctc_interrupt_normal_intr_type_t type, uint8 bit_offset);
extern int32 ctcs_interrupt_get_en(uint8 lchip, ctc_intr_type_t* p_type, uint32* p_enable);
extern int32 ctcs_interrupt_get_fatal_intr_status(uint8 lchip, uint8 type, ctc_interrupt_fatal_intr_status_t* status);
extern int32 ctcs_interrupt_get_normal_all_intr_status(uint8 lchip, uint32* p_bitmap);
extern int32 ctcs_interrupt_get_normal_intr_status(uint8 lchip, uint8 type, bool* p_enable);
extern int32 ctcs_interrupt_get_status(uint8 lchip, ctc_intr_type_t* p_type, ctc_intr_status_t* p_status);
extern int32 ctcs_interrupt_init(uint8 lchip, void* p_global_cfg);
extern int32 ctcs_interrupt_reg_init_end(uint8 lchip);
extern int32 ctcs_interrupt_reg_init_start(uint8 lchip);
extern int32 ctcs_interrupt_register_event_cb(uint8 lchip, ctc_interrupt_event_t event, CTC_INTERRUPT_EVENT_FUNC cb);
extern int32 ctcs_interrupt_set_en(uint8 lchip, ctc_intr_type_t* p_type, uint32 enable);
extern int32 ctcs_ipfix_add_entry(uint8 lchip, ctc_ipfix_data_t* p_data);
extern int32 ctcs_ipfix_delete_entry(uint8 lchip, ctc_ipfix_data_t* p_data);
extern int32 ctcs_ipfix_get_global_cfg(uint8 lchip, ctc_ipfix_global_cfg_t* ipfix_cfg);
extern int32 ctcs_ipfix_get_port_cfg(uint8 lchip, uint32 gport,ctc_ipfix_port_cfg_t* ipfix_cfg);
extern int32 ctcs_ipfix_init(uint8 lchip, void* p_global_cfg);
extern int32 ctcs_ipfix_register_cb(uint8 lchip, ctc_ipfix_fn_t callback,void* userdata);
extern int32 ctcs_ipfix_set_global_cfg(uint8 lchip, ctc_ipfix_global_cfg_t* ipfix_cfg);
extern int32 ctcs_ipfix_set_hash_field_sel(uint8 lchip, ctc_ipfix_hash_field_sel_t* field_sel);
extern int32 ctcs_ipfix_set_port_cfg(uint8 lchip, uint32 gport,ctc_ipfix_port_cfg_t* ipfix_cfg);
extern int32 ctcs_ipfix_traverse(uint8 lchip, ctc_ipfix_traverse_fn fn, ctc_ipfix_traverse_t* p_data);
extern int32 ctcs_ipmc_add_default_entry(uint8 lchip, uint8 ip_version, ctc_ipmc_default_action_t type);
extern int32 ctcs_ipmc_add_group(uint8 lchip, ctc_ipmc_group_info_t* p_group);
extern int32 ctcs_ipmc_add_member(uint8 lchip, ctc_ipmc_group_info_t* p_group);
extern int32 ctcs_ipmc_add_rp_intf(uint8 lchip, ctc_ipmc_rp_t* p_rp);
extern int32 ctcs_ipmc_clear_stats(uint8 lchip, ctc_ipmc_group_info_t* p_group);
extern int32 ctcs_ipmc_get_group_info(uint8 lchip, ctc_ipmc_group_info_t* p_group);
extern int32 ctcs_ipmc_get_mcast_force_route(uint8 lchip, ctc_ipmc_force_route_t* p_data);
extern int32 ctcs_ipmc_get_stats(uint8 lchip, ctc_ipmc_group_info_t* p_group, ctc_stats_basic_t* p_stats);
extern int32 ctcs_ipmc_init(uint8 lchip, void* ipmc_global_cfg);
extern int32 ctcs_ipmc_remove_group(uint8 lchip, ctc_ipmc_group_info_t* p_group);
extern int32 ctcs_ipmc_remove_member(uint8 lchip, ctc_ipmc_group_info_t* p_group);
extern int32 ctcs_ipmc_remove_rp_intf(uint8 lchip, ctc_ipmc_rp_t* p_rp);
extern int32 ctcs_ipmc_set_mcast_force_route(uint8 lchip, ctc_ipmc_force_route_t* p_data);
extern int32 ctcs_ipmc_traverse(uint8 lchip, uint8 ip_ver, ctc_ipmc_traverse_fn fn, void* user_data);
extern int32 ctcs_ipmc_update_rpf(uint8 lchip, ctc_ipmc_group_info_t* p_group);
extern int32 ctcs_ipuc_add_default_entry(uint8 lchip, uint8 ip_ver, uint32 nh_id);
extern int32 ctcs_ipuc_add_nat_sa(uint8 lchip, ctc_ipuc_nat_sa_param_t* p_ipuc_nat_sa_param);
extern int32 ctcs_ipuc_add_tunnel(uint8 lchip, ctc_ipuc_tunnel_param_t* p_ipuc_tunnel_param);
extern int32 ctcs_ipuc_add(uint8 lchip, ctc_ipuc_param_t* p_ipuc_param);
extern int32 ctcs_ipuc_arrange_fragment(uint8 lchip, void* p_arrange_info);
extern int32 ctcs_ipuc_cpu_rpf_check(uint8 lchip, bool enable);
extern int32 ctcs_ipuc_get(uint8 lchip, ctc_ipuc_param_t* p_ipuc_param);
extern int32 ctcs_ipuc_init(uint8 lchip, void* ipuc_global_cfg);
extern int32 ctcs_ipuc_ipv6_enable(uint8 lchip, bool enable);
extern int32 ctcs_ipuc_remove_nat_sa(uint8 lchip, ctc_ipuc_nat_sa_param_t* p_ipuc_nat_sa_param);
extern int32 ctcs_ipuc_remove_tunnel(uint8 lchip, ctc_ipuc_tunnel_param_t* p_ipuc_tunnel_param);
extern int32 ctcs_ipuc_remove(uint8 lchip, ctc_ipuc_param_t* p_ipuc_param);
extern int32 ctcs_ipuc_set_global_property(uint8 lchip, ctc_ipuc_global_property_t* p_global_prop);
extern int32 ctcs_ipuc_set_lookup_ctl(uint8 lchip, ctc_ipuc_global_property_t* p_global_prop);
extern int32 ctcs_ipuc_set_route_ctl(uint8 lchip, ctc_ipuc_global_property_t* p_global_prop);
extern int32 ctcs_ipuc_traverse(uint8 lchip, uint8 ip_ver, void* fn, void* data);
extern int32 ctcs_l2_add_default_entry(uint8 lchip, ctc_l2dflt_addr_t* l2dflt_addr);
extern int32 ctcs_l2_add_fdb(uint8 lchip, ctc_l2_addr_t* l2_addr);
extern int32 ctcs_l2_add_fdb_with_nexthop(uint8 lchip, ctc_l2_addr_t* l2_addr, uint32 nhp_id);
extern int32 ctcs_l2_add_port_to_default_entry(uint8 lchip, ctc_l2dflt_addr_t* l2dflt_addr);
extern int32 ctcs_l2_fdb_init(uint8 lchip, void* l2_fdb_global_cfg);
extern int32 ctcs_l2_flush_fdb(uint8 lchip, ctc_l2_flush_fdb_t* pFlush);
extern int32 ctcs_l2_get_default_entry_features(uint8 lchip, ctc_l2dflt_addr_t* l2dflt_addr);
extern int32 ctcs_l2_get_fdb_by_index(uint8 lchip, uint32 index, ctc_l2_addr_t* l2_addr);
extern int32 ctcs_l2_get_fdb_count(uint8 lchip, ctc_l2_fdb_query_t* pQuery);
extern int32 ctcs_l2_get_fdb_entry(uint8 lchip, ctc_l2_fdb_query_t* pQuery, ctc_l2_fdb_query_rst_t* query_rst);
extern int32 ctcs_l2_get_fid_property(uint8 lchip, uint16 fid_id, ctc_l2_fid_property_t property, uint32* value);
extern int32 ctcs_l2_get_nhid_by_logic_port(uint8 lchip, uint16 logic_port, uint32* nhp_id);
extern int32 ctcs_l2mcast_add_addr(uint8 lchip, ctc_l2_mcast_addr_t* l2mc_addr);
extern int32 ctcs_l2mcast_add_member(uint8 lchip, ctc_l2_mcast_addr_t* l2mc_addr);
extern int32 ctcs_l2mcast_remove_addr(uint8 lchip, ctc_l2_mcast_addr_t* l2mc_addr);
extern int32 ctcs_l2mcast_remove_member(uint8 lchip, ctc_l2_mcast_addr_t* l2mc_addr);
extern int32 ctcs_l2_remove_default_entry(uint8 lchip, ctc_l2dflt_addr_t* l2dflt_addr);
extern int32 ctcs_l2_remove_fdb_by_index(uint8 lchip, uint32 index);
extern int32 ctcs_l2_remove_fdb(uint8 lchip, ctc_l2_addr_t* l2_addr);
extern int32 ctcs_l2_remove_port_from_default_entry(uint8 lchip, ctc_l2dflt_addr_t* l2dflt_addr);
extern int32 ctcs_l2_set_default_entry_features(uint8 lchip, ctc_l2dflt_addr_t* l2dflt_addr);
extern int32 ctcs_l2_set_fid_property(uint8 lchip, uint16 fid_id, ctc_l2_fid_property_t property, uint32 value);
extern int32 ctcs_l2_set_nhid_by_logic_port(uint8 lchip, uint16 logic_port, uint32 nhp_id);
extern int32 ctcs_l3if_add_ecmp_if_member(uint8 lchip, uint16 ecmp_if_id, uint16 l3if_id);
extern int32 ctcs_l3if_add_vmac_low_8bit(uint8 lchip, uint16 l3if_id, ctc_l3if_vmac_t* p_l3if_vmac);
extern int32 ctcs_l3if_create_ecmp_if(uint8 lchip, ctc_l3if_ecmp_if_t* p_ecmp_if);
extern int32 ctcs_l3if_create(uint8 lchip, uint16 l3if_id, ctc_l3if_t* p_l3_if);
extern int32 ctcs_l3if_destory_ecmp_if(uint8 lchip, uint16 ecmp_if_id);
extern int32 ctcs_l3if_destory(uint8 lchip, uint16 l3if_id, ctc_l3if_t* p_l3_if);
extern int32 ctcs_l3if_get_interface_router_mac(uint8 lchip, uint16 l3if_id, ctc_l3if_router_mac_t* router_mac);
extern int32 ctcs_l3if_get_l3if_id(uint8 lchip, ctc_l3if_t* p_l3_if, uint16* l3if_id);
extern int32 ctcs_l3if_get_property(uint8 lchip, uint16 l3if_id, ctc_l3if_property_t l3if_prop, uint32* p_value);
extern int32 ctcs_l3if_get_router_mac(uint8 lchip, mac_addr_t mac_addr);
extern int32 ctcs_l3if_get_vmac_low_8bit(uint8 lchip, uint16 l3if_id, ctc_l3if_vmac_t* p_l3if_vmac);
extern int32 ctcs_l3if_get_vmac_prefix(uint8 lchip, ctc_l3if_route_mac_type_t prefix_type, mac_addr_t mac_40bit);
extern int32 ctcs_l3if_init(uint8 lchip, void* l3if_global_cfg);
extern int32 ctcs_l3if_remove_ecmp_if_member(uint8 lchip, uint16 ecmp_if_id, uint16 l3if_id);
extern int32 ctcs_l3if_remove_vmac_low_8bit(uint8 lchip, uint16 l3if_id, ctc_l3if_vmac_t* p_l3if_vmac);
extern int32 ctcs_l3if_set_interface_router_mac(uint8 lchip, uint16 l3if_id, ctc_l3if_router_mac_t router_mac);
extern int32 ctcs_l3if_set_property(uint8 lchip, uint16 l3if_id, ctc_l3if_property_t l3if_prop, uint32 value);
extern int32 ctcs_l3if_set_router_mac(uint8 lchip, mac_addr_t mac_addr);
extern int32 ctcs_l3if_set_vmac_prefix(uint8 lchip, ctc_l3if_route_mac_type_t prefix_type, mac_addr_t mac_40bit);
extern int32 ctcs_l3if_set_vrf_stats_en(uint8 lchip, ctc_l3if_vrf_stats_t* p_vrf_stats);
extern int32 ctcs_aging_get_aging_status(uint8 lchip, uint32 aging_index, ctc_aging_status_t* age_status);
extern int32 ctcs_aging_get_property(uint8 lchip, ctc_aging_table_type_t tbl_type, ctc_aging_prop_t aging_prop, uint32* value);
extern int32 ctcs_aging_read_aging_fifo(uint8 lchip, ctc_aging_fifo_info_t* fifo_info);
extern int32 ctcs_aging_set_property(uint8 lchip, ctc_aging_table_type_t tbl_type, ctc_aging_prop_t aging_prop, uint32 value);
extern int32 ctcs_get_learning_action(uint8 lchip, ctc_learning_action_info_t* p_learning_action);
extern int32 ctcs_learning_aging_init(uint8 lchip, void* global_cfg);
extern int32 ctcs_learning_clear_learning_cache(uint8 lchip, uint16 entry_vld_bitmap);
extern int32 ctcs_learning_get_cache_entry_valid_bitmap(uint8 lchip, uint16* entry_vld_bitmap);
extern int32 ctcs_learning_read_learning_cache(uint8 lchip, uint16 entry_vld_bitmap, ctc_learning_cache_t* l2_lc);
extern int32 ctcs_set_learning_action(uint8 lchip, ctc_learning_action_info_t* p_learning_action);
extern int32 ctcs_linkagg_add_port(uint8 lchip, uint8 tid, uint32 gport);
extern int32 ctcs_linkagg_create(uint8 lchip, ctc_linkagg_group_t* p_linkagg_grp);
extern int32 ctcs_linkagg_destroy(uint8 lchip, uint8 tid);
extern int32 ctcs_linkagg_get_1st_local_port(uint8 lchip, uint8 tid, uint16* p_gport, uint8* local_cnt);
extern int32 ctcs_linkagg_get_max_mem_num(uint8 lchip, uint8* max_num);
extern int32 ctcs_linkagg_get_member_ports(uint8 lchip, uint8 tid, uint16* p_gports, uint8* cnt);
extern int32 ctcs_linkagg_get_psc(uint8 lchip, ctc_linkagg_psc_t* psc);
extern int32 ctcs_linkagg_init(uint8 lchip, void* linkagg_global_cfg);
extern int32 ctcs_linkagg_remove_port(uint8 lchip, uint8 tid, uint32 gport);
extern int32 ctcs_linkagg_set_psc(uint8 lchip, ctc_linkagg_psc_t* psc);
extern int32 ctcs_mirror_add_session(uint8 lchip, ctc_mirror_dest_t* mirror);
extern int32 ctcs_mirror_get_mirror_discard(uint8 lchip, ctc_direction_t dir, ctc_mirror_discard_t discard_flag, bool* enable);
extern int32 ctcs_mirror_get_port_info(uint8 lchip, uint32 gport, ctc_direction_t dir, bool* enable, uint8* session_id);
extern int32 ctcs_mirror_get_vlan_info(uint8 lchip, uint16 vlan_id, ctc_direction_t dir, bool* enable, uint8* session_id);
extern int32 ctcs_mirror_init(uint8 lchip, void* mirror_global_cfg);
extern int32 ctcs_mirror_remove_session(uint8 lchip, ctc_mirror_dest_t* mirror);
extern int32 ctcs_mirror_set_erspan_psc(uint8 lchip, ctc_mirror_erspan_psc_t* psc);
extern int32 ctcs_mirror_set_escape_en(uint8 lchip, bool enable);
extern int32 ctcs_mirror_set_escape_mac(uint8 lchip, ctc_mirror_rspan_escape_t* escape);
extern int32 ctcs_mirror_set_mirror_discard(uint8 lchip, ctc_direction_t dir, uint16 discard_flag, bool enable);
extern int32 ctcs_mirror_set_port_en(uint8 lchip, uint32 gport, ctc_direction_t dir, bool enable, uint8 session_id);
extern int32 ctcs_mirror_set_vlan_en(uint8 lchip, uint16 vlan_id, ctc_direction_t dir, bool enable, uint8 session_id);
extern int32 ctcs_monitor_clear_watermark(uint8 lchip, ctc_monitor_watermark_t* p_watermark);
extern int32 ctcs_monitor_get_config(uint8 lchip, ctc_monitor_config_t* p_cfg);
extern int32 ctcs_monitor_get_watermark(uint8 lchip, ctc_monitor_watermark_t* p_watermark);
extern int32 ctcs_monitor_init(uint8 lchip, void* p_global_cfg);
extern int32 ctcs_monitor_register_cb(uint8 lchip, ctc_monitor_fn_t callback,void* userdata);
extern int32 ctcs_monitor_set_config(uint8 lchip, ctc_monitor_config_t* p_cfg);
extern int32 ctcs_monitor_set_global_config(uint8 lchip, ctc_monitor_glb_cfg_t* p_cfg);
extern int32 ctcs_mpls_add_ilm(uint8 lchip, ctc_mpls_ilm_t* p_mpls_ilm);
extern int32 ctcs_mpls_add_l2vpn_pw(uint8 lchip, ctc_mpls_l2vpn_pw_t* p_mpls_pw);
extern int32 ctcs_mpls_add_stats(uint8 lchip, ctc_mpls_stats_index_t* stats_index);
extern int32 ctcs_mpls_clear_in_sqn(uint8 lchip, uint8 index);
extern int32 ctcs_mpls_clear_out_sqn(uint8 lchip, uint8 index);
extern int32 ctcs_mpls_clear_stats(uint8 lchip, ctc_mpls_stats_index_t* stats_index);
extern int32 ctcs_mpls_del_ilm(uint8 lchip, ctc_mpls_ilm_t* p_mpls_ilm);
extern int32 ctcs_mpls_del_l2vpn_pw(uint8 lchip, ctc_mpls_l2vpn_pw_t* p_mpls_pw);
extern int32 ctcs_mpls_get_ilm(uint8 lchip, uint32* nh_id, ctc_mpls_ilm_t* p_mpls_ilm);
extern int32 ctcs_mpls_get_stats(uint8 lchip, ctc_mpls_stats_index_t* stats_index, ctc_stats_basic_t* p_stats);
extern int32 ctcs_mpls_init(uint8 lchip, ctc_mpls_init_t* p_mpls_info);
extern int32 ctcs_mpls_remove_stats(uint8 lchip, ctc_mpls_stats_index_t* stats_index);
extern int32 ctcs_mpls_set_ilm_property(uint8 lchip, ctc_mpls_property_t* p_mpls_pro);
extern int32 ctcs_mpls_update_ilm(uint8 lchip, ctc_mpls_ilm_t* p_mpls_ilm);
extern int32 ctcs_nexthop_init(uint8 lchip, ctc_nh_global_cfg_t* nh_cfg);
extern int32 ctcs_nh_add_ecmp(uint8 lchip, uint32 nhid, ctc_nh_ecmp_nh_param_t* p_nh_param);
extern int32 ctcs_nh_add_iloop(uint8 lchip, uint32 nhid, ctc_loopback_nexthop_param_t* p_nh_param);
extern int32 ctcs_nh_add_ip_tunnel(uint8 lchip, uint32 nhid, ctc_ip_tunnel_nh_param_t* p_nh_param);
extern int32 ctcs_nh_add_ipuc(uint8 lchip, uint32 nhid, ctc_ip_nh_param_t* p_nh_param);
extern int32 ctcs_nh_add_l2uc(uint8 lchip, uint32 gport, ctc_nh_param_brguc_sub_type_t nh_type);
extern int32 ctcs_nh_add_mcast(uint8 lchip, uint32 nhid, ctc_mcast_nh_param_group_t* p_nh_mcast_group);
extern int32 ctcs_nh_add_misc(uint8 lchip, uint32 nhid, ctc_misc_nh_param_t* p_nh_param);
extern int32 ctcs_nh_add_mpls_tunnel_label(uint8 lchip, uint16 tunnel_id, ctc_mpls_nexthop_tunnel_param_t* p_nh_param);
extern int32 ctcs_nh_add_mpls(uint8 lchip, uint32 nhid, ctc_mpls_nexthop_param_t* p_nh_param);
extern int32 ctcs_nh_add_nexthop_mac(uint8 lchip, uint16 arp_id, ctc_nh_nexthop_mac_param_t* p_param);
extern int32 ctcs_nh_add_rspan(uint8 lchip, uint32 nhid, ctc_rspan_nexthop_param_t* p_nh_param);
extern int32 ctcs_nh_add_stats(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_add_trill(uint8 lchip, uint32 nhid, ctc_nh_trill_param_t* p_nh_param);
extern int32 ctcs_nh_add_xlate(uint8 lchip, uint32 nhid, ctc_vlan_edit_nh_param_t* p_nh_param);
extern int32 ctcs_nh_clear_stats(uint8 lchip, ctc_nh_stats_info_t* stats_info);
extern int32 ctcs_nh_del_stats(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_get_l2uc(uint8 lchip, uint32 gport, ctc_nh_param_brguc_sub_type_t nh_type, uint32* nhid);
extern int32 ctcs_nh_get_max_ecmp(uint8 lchip, uint16* max_ecmp);
extern int32 ctcs_nh_get_mcast_nh(uint8 lchip, uint32 group_id, uint32* p_nhid);
extern int32 ctcs_nh_get_nh_info(uint8 lchip, uint32 nhid, ctc_nh_info_t* p_nh_info);
extern int32 ctcs_nh_get_resolved_dsnh_offset(uint8 lchip, ctc_nh_reserved_dsnh_offset_type_t type, uint32* p_offset);
extern int32 ctcs_nh_get_stats(uint8 lchip, ctc_nh_stats_info_t* stats_info);
extern int32 ctcs_nh_remove_ecmp(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_remove_iloop(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_remove_ip_tunnel(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_remove_ipuc(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_remove_l2uc(uint8 lchip, uint32 gport);
extern int32 ctcs_nh_remove_mcast(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_remove_misc(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_remove_mpls_tunnel_label(uint8 lchip, uint16 tunnel_id);
extern int32 ctcs_nh_remove_mpls(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_remove_nexthop_mac(uint8 lchip, uint16 arp_id);
extern int32 ctcs_nh_remove_rspan(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_remove_trill(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_remove_xlate(uint8 lchip, uint32 nhid);
extern int32 ctcs_nh_set_global_config(uint8 lchip, ctc_nh_global_cfg_t* p_glb_cfg);
extern int32 ctcs_nh_set_max_ecmp(uint8 lchip, uint16 max_ecmp);
extern int32 ctcs_nh_set_nh_drop(uint8 lchip, uint32 nhid, ctc_nh_drop_info_t* p_nh_drop);
extern int32 ctcs_nh_swap_mpls_tunnel_label(uint8 lchip, uint16 old_tunnel_id,uint16 new_tunnel_id);
extern int32 ctcs_nh_update_ecmp(uint8 lchip, uint32 nhid, ctc_nh_ecmp_nh_param_t* p_nh_param);
extern int32 ctcs_nh_update_ip_tunnel(uint8 lchip, uint32 nhid, ctc_ip_tunnel_nh_param_t* p_nh_param);
extern int32 ctcs_nh_update_ipuc(uint8 lchip, uint32 nhid, ctc_ip_nh_param_t* p_nh_param);
extern int32 ctcs_nh_update_mcast(uint8 lchip, uint32 nhid, ctc_mcast_nh_param_group_t* p_nh_mcast_group);
extern int32 ctcs_nh_update_mpls_tunnel_label(uint8 lchip, uint16 tunnel_id, ctc_mpls_nexthop_tunnel_param_t* p_new_param);
extern int32 ctcs_nh_update_mpls(uint8 lchip, uint32 nhid, ctc_mpls_nexthop_param_t* p_nh_param);
extern int32 ctcs_nh_update_nexthop_mac(uint8 lchip, uint16 arp_id, ctc_nh_nexthop_mac_param_t* p_new_param);
extern int32 ctcs_nh_update_trill(uint8 lchip, uint32 nhid, ctc_nh_trill_param_t* p_nh_param);
extern int32 ctcs_oam_add_chan(uint8 lchip, ctc_oam_chan_t* p_chan);
extern int32 ctcs_oam_add_lmep(uint8 lchip, ctc_oam_lmep_t* p_lmep);
extern int32 ctcs_oam_add_maid(uint8 lchip, ctc_oam_maid_t* p_maid);
extern int32 ctcs_oam_add_mip(uint8 lchip, ctc_oam_mip_t* p_mip);
extern int32 ctcs_oam_add_rmep(uint8 lchip, ctc_oam_rmep_t* p_rmep);
extern int32 ctcs_oam_clear_trpt_stats(uint8 lchip, uint8 gchip, uint8 session_id);
extern int32 ctcs_oam_get_defect_info(uint8 lchip, void* p_defect_info);
extern int32 ctcs_oam_get_mep_info(uint8 lchip, ctc_oam_mep_info_t* p_mep_info);
extern int32 ctcs_oam_get_mep_info_with_key(uint8 lchip, ctc_oam_mep_info_with_key_t* p_mep_info);
extern int32 ctcs_oam_get_stats(uint8 lchip, ctc_oam_stats_info_t* p_stat_info);
extern int32 ctcs_oam_get_trpt_stats(uint8 lchip, uint8 gchip, uint8 session_id, ctc_oam_trpt_stats_t* p_trpt_stats);
extern int32 ctcs_oam_init(uint8 lchip, ctc_oam_global_t* p_cfg);
extern int32 ctcs_oam_remove_chan(uint8 lchip, ctc_oam_chan_t* p_chan);
extern int32 ctcs_oam_remove_lmep(uint8 lchip, ctc_oam_lmep_t* p_lmep);
extern int32 ctcs_oam_remove_maid(uint8 lchip, ctc_oam_maid_t* p_maid);
extern int32 ctcs_oam_remove_mip(uint8 lchip, ctc_oam_mip_t* p_mip);
extern int32 ctcs_oam_remove_rmep(uint8 lchip, ctc_oam_rmep_t* p_rmep);
extern int32 ctcs_oam_set_property(uint8 lchip, ctc_oam_property_t* p_prop);
extern int32 ctcs_oam_set_trpt_cfg(uint8 lchip, ctc_oam_trpt_t* p_throughput);
extern int32 ctcs_oam_set_trpt_en(uint8 lchip, uint8 gchip, uint8 session_id, uint8 enable);
extern int32 ctcs_oam_update_lmep(uint8 lchip, ctc_oam_update_t* p_lmep);
extern int32 ctcs_oam_update_rmep(uint8 lchip, ctc_oam_update_t* p_rmep);
extern int32 ctcs_overlay_tunnel_add_tunnel(uint8 lchip, ctc_overlay_tunnel_param_t* p_tunnel_param);
extern int32 ctcs_overlay_tunnel_get_fid(uint8 lchip, uint32 vn_id, uint16* p_fid);
extern int32 ctcs_overlay_tunnel_init(uint8 lchip, void* param);
extern int32 ctcs_overlay_tunnel_remove_tunnel(uint8 lchip, ctc_overlay_tunnel_param_t* p_tunnel_param);
extern int32 ctcs_overlay_tunnel_set_fid(uint8 lchip, uint32 vn_id, uint16 fid);
extern int32 ctcs_overlay_tunnel_update_tunnel(uint8 lchip, ctc_overlay_tunnel_param_t* p_tunnel_param);
extern int32 ctcs_packet_decap(uint8 lchip, ctc_pkt_rx_t* p_pkt_rx);
extern int32 ctcs_packet_encap(uint8 lchip, ctc_pkt_tx_t* p_pkt_tx);
extern int32 ctcs_packet_init(uint8 lchip, void* p_global_cfg);
extern int32 ctcs_packet_tx(uint8 lchip, ctc_pkt_tx_t* p_pkt_tx);
extern int32 ctcs_parser_enable_l3_type(uint8 lchip, ctc_parser_l3_type_t l3_type, bool enable);
extern int32 ctcs_parser_get_ecmp_hash_field(uint8 lchip, ctc_parser_ecmp_hash_ctl_t* hash_ctl);
extern int32 ctcs_parser_get_global_cfg(uint8 lchip, ctc_parser_global_cfg_t* global_cfg);
extern int32 ctcs_parser_get_ipv6_ctl(uint8 lchip, uint8 index, ctc_parser_ipv6_ctl_t* ipv6_ctl);
extern int32 ctcs_parser_get_l2_flex_header(uint8 lchip, ctc_parser_l2flex_header_t* l2flex_header);
extern int32 ctcs_parser_get_l3_flex_header(uint8 lchip, ctc_parser_l3flex_header_t* l3flex_header);
extern int32 ctcs_parser_get_l4_app_ctl(uint8 lchip, ctc_parser_l4app_ctl_t* l4app_ctl);
extern int32 ctcs_parser_get_l4_app_data_ctl(uint8 lchip, uint8 index, ctc_parser_l4_app_data_entry_t* entry);
extern int32 ctcs_parser_get_l4_flex_header(uint8 lchip, ctc_parser_l4flex_header_t* l4flex_header);
extern int32 ctcs_parser_get_l4_len_op_ctl(uint8 lchip, uint8 index, uint16* length);
extern int32 ctcs_parser_get_l4_ptp_ctl(uint8 lchip, ctc_parser_ptp_ctl_t* l4ptp_ctl);
extern int32 ctcs_parser_get_max_length_filed(uint8 lchip, uint16* max_length);
extern int32 ctcs_parser_get_pbb_header(uint8 lchip, ctc_parser_pbb_header_t* pbb_header);
extern int32 ctcs_parser_get_tpid(uint8 lchip, ctc_parser_l2_tpid_t type, uint16* tpid);
extern int32 ctcs_parser_get_trill_header(uint8 lchip, ctc_parser_trill_header_t* trill_header);
extern int32 ctcs_parser_get_udf(uint8 lchip, uint32 index, ctc_parser_udf_t* udf);
extern int32 ctcs_parser_get_udp_app_op_ctl(uint8 lchip, uint8 index, ctc_parser_udp_app_op_ctl_t* udp_app_op_ctl);
extern int32 ctcs_parser_get_vlan_parser_num(uint8 lchip, uint8* vlan_num);
extern int32 ctcs_parser_init(uint8 lchip, void* parser_global_cfg);
extern int32 ctcs_parser_l2_enable_l3_type(uint8 lchip, ctc_parser_l3_type_t l3_type, bool enable);
extern int32 ctcs_parser_l3_enable_l4_type(uint8 lchip, ctc_parser_l4_type_t l4_type, bool enable);
extern int32 ctcs_parser_map_l3_type(uint8 lchip, uint8 index, ctc_parser_l2_protocol_entry_t* entry);
extern int32 ctcs_parser_map_l4_type(uint8 lchip, uint8 index, ctc_parser_l3_protocol_entry_t* entry);
extern int32 ctcs_parser_set_ecmp_hash_field(uint8 lchip, ctc_parser_ecmp_hash_ctl_t* hash_ctl);
extern int32 ctcs_parser_set_global_cfg(uint8 lchip, ctc_parser_global_cfg_t* global_cfg);
extern int32 ctcs_parser_set_ipv6_ctl(uint8 lchip, uint8 index, ctc_parser_ipv6_ctl_t* ipv6_ctl);
extern int32 ctcs_parser_set_l2_flex_header(uint8 lchip, ctc_parser_l2flex_header_t* l2flex_header);
extern int32 ctcs_parser_set_l3_flex_header(uint8 lchip, ctc_parser_l3flex_header_t* l3flex_header);
extern int32 ctcs_parser_set_l4_app_ctl(uint8 lchip, ctc_parser_l4app_ctl_t* l4app_ctl);
extern int32 ctcs_parser_set_l4_app_data_ctl(uint8 lchip, uint8 index, ctc_parser_l4_app_data_entry_t* entry);
extern int32 ctcs_parser_set_l4_flex_header(uint8 lchip, ctc_parser_l4flex_header_t* l4flex_header);
extern int32 ctcs_parser_set_l4_len_op_ctl(uint8 lchip, uint8 index, uint16 length);
extern int32 ctcs_parser_set_l4_ptp_ctl(uint8 lchip, ctc_parser_ptp_ctl_t* l4ptp_ctl);
extern int32 ctcs_parser_set_l4_type(uint8 lchip, uint8 index, ctc_parser_l4_protocol_entry_t* entry);
extern int32 ctcs_parser_set_max_length_field(uint8 lchip, uint16 max_length);
extern int32 ctcs_parser_set_pbb_header(uint8 lchip, ctc_parser_pbb_header_t* pbb_header);
extern int32 ctcs_parser_set_tpid(uint8 lchip, ctc_parser_l2_tpid_t type, uint16 tpid);
extern int32 ctcs_parser_set_trill_header(uint8 lchip, ctc_parser_trill_header_t* trill_header);
extern int32 ctcs_parser_set_udf(uint8 lchip, uint32 index, ctc_parser_udf_t* udf);
extern int32 ctcs_parser_set_udp_app_op_ctl(uint8 lchip, uint8 index, ctc_parser_udp_app_op_ctl_t* udp_app_op_ctl);
extern int32 ctcs_parser_set_vlan_parser_num(uint8 lchip, uint8 vlan_num);
extern int32 ctcs_parser_unmap_l3_type(uint8 lchip, uint8 index);
extern int32 ctcs_parser_unmap_l4_type(uint8 lchip, uint8 index);
extern int32 ctcs_l2pdu_classify_l2pdu(uint8 lchip, ctc_pdu_l2pdu_type_t l2pdu_type, uint8 index, ctc_pdu_l2pdu_key_t* key);
extern int32 ctcs_l2pdu_get_classified_key(uint8 lchip, ctc_pdu_l2pdu_type_t l2pdu_type, uint8 index, ctc_pdu_l2pdu_key_t* key);
extern int32 ctcs_l2pdu_get_global_action(uint8 lchip, ctc_pdu_l2pdu_type_t l2pdu_type, uint8 index, ctc_pdu_global_l2pdu_action_t* action);
extern int32 ctcs_l2pdu_get_port_action(uint8 lchip, uint32 gport, uint8 action_index, ctc_pdu_port_l2pdu_action_t* action);
extern int32 ctcs_l2pdu_set_default_global_action(uint8 lchip);
extern int32 ctcs_l2pdu_set_global_action(uint8 lchip, ctc_pdu_l2pdu_type_t l2pdu_type, uint8 index, ctc_pdu_global_l2pdu_action_t* action);
extern int32 ctcs_l2pdu_set_port_action(uint8 lchip, uint32 gport, uint8 action_index, ctc_pdu_port_l2pdu_action_t action);
extern int32 ctcs_l3pdu_classify_l3pdu(uint8 lchip, ctc_pdu_l3pdu_type_t l3pdu_type, uint8 index, ctc_pdu_l3pdu_key_t* key);
extern int32 ctcs_l3pdu_get_classified_key(uint8 lchip, ctc_pdu_l3pdu_type_t l3pdu_type, uint8 index, ctc_pdu_l3pdu_key_t* key);
extern int32 ctcs_l3pdu_get_global_action(uint8 lchip, ctc_pdu_l3pdu_type_t l3pdu_type, uint8 index, ctc_pdu_global_l3pdu_action_t* action);
extern int32 ctcs_l3pdu_get_l3if_action(uint8 lchip, uint16 l3ifid, uint8 action_index, ctc_pdu_l3if_l3pdu_action_t* action);
extern int32 ctcs_l3pdu_set_default_global_action(uint8 lchip);
extern int32 ctcs_l3pdu_set_global_action(uint8 lchip, ctc_pdu_l3pdu_type_t l3pdu_type, uint8 index, ctc_pdu_global_l3pdu_action_t* action);
extern int32 ctcs_l3pdu_set_l3if_action(uint8 lchip, uint16 l3ifid, uint8 action_index, ctc_pdu_l3if_l3pdu_action_t action);
extern int32 ctcs_pdu_init(uint8 lchip, void* pdu_global_cfg);
extern int32 ctcs_get_ipg_size(uint8 lchip, ctc_ipg_size_t index, uint8* p_size);
extern int32 ctcs_get_max_frame_size(uint8 lchip, ctc_frame_size_t index, uint16* p_value);
extern int32 ctcs_get_min_frame_size(uint8 lchip, ctc_frame_size_t index, uint16* p_value);
extern int32 ctcs_port_get_bridge_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_cpu_mac_en(uint8 lchip, bool* p_enable);
extern int32 ctcs_port_get_cross_connect(uint8 lchip, uint32 gport, uint32* p_value);
extern int32 ctcs_port_get_default_vlan(uint8 lchip, uint32 gport, uint16* p_vid);
extern int32 ctcs_port_get_direction_property(uint8 lchip, uint32 gport, ctc_port_direction_property_t port_prop, ctc_direction_t dir, uint32* p_value);
extern int32 ctcs_port_get_dot1q_type(uint8 lchip, uint32 gport, ctc_dot1q_type_t* p_type);
extern int32 ctcs_port_get_flow_ctl_en(uint8 lchip, ctc_port_fc_prop_t* p_fc_prop);
extern int32 ctcs_port_get_ipg(uint8 lchip, uint32 gport, ctc_ipg_size_t* p_index);
extern int32 ctcs_port_get_ipsg_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_keep_vlan_tag(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_learning_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_mac_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_mac_link_up(uint8 lchip, uint32 gport, bool* p_is_up);
extern int32 ctcs_port_get_max_frame(uint8 lchip, uint32 gport, uint32* p_value);
extern int32 ctcs_port_get_min_frame_size(uint8 lchip, uint32 gport, uint8* p_size);
extern int32 ctcs_port_get_mux_demux_en(uint8 lchip, uint32 gport, ctc_port_mux_demux_type_t type, bool* p_enable);
extern int32 ctcs_port_get_pading_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_phy_if_en(uint8 lchip, uint32 gport, uint16* p_l3if_id, bool* p_enable);
extern int32 ctcs_port_get_port_check_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_port_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_port_mac(uint8 lchip, uint32 gport, mac_addr_t* p_port_mac);
extern int32 ctcs_port_get_preamble(uint8 lchip, uint32 gport, uint8* p_pre_bytes);
extern int32 ctcs_port_get_property(uint8 lchip, uint32 gport, ctc_port_property_t port_prop, uint32* p_value);
extern int32 ctcs_port_get_protocol_vlan_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_random_log_en(uint8 lchip, uint32 gport, ctc_direction_t dir, bool* p_enable);
extern int32 ctcs_port_get_random_log_percent(uint8 lchip, uint32 gport, ctc_direction_t dir, uint8* p_percent);
extern int32 ctcs_port_get_receive_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_reflective_bridge_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_restriction(uint8 lchip, uint32 gport, ctc_port_restriction_t* p_restriction);
extern int32 ctcs_port_get_scl_key_type(uint8 lchip, uint32 gport, ctc_direction_t dir, uint8 scl_id, ctc_port_scl_key_type_t* p_type);
extern int32 ctcs_port_get_scl_property(uint8 lchip, uint32 gport, ctc_port_scl_property_t* prop);
extern int32 ctcs_port_get_speed(uint8 lchip, uint32 gport, ctc_port_speed_t* p_speed_mode);
extern int32 ctcs_port_get_srcdiscard_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_stag_tpid_index(uint8 lchip, uint32 gport, ctc_direction_t dir, uint8* p_index);
extern int32 ctcs_port_get_stretch_mode_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_sub_if_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_transmit_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_untag_dft_vid(uint8 lchip, uint32 gport, bool* p_enable, bool* p_untag_svlan);
extern int32 ctcs_port_get_use_inner_cos(uint8 lchip, uint32 gport, bool* p_is_inner);
extern int32 ctcs_port_get_use_outer_ttl(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_vlan_classify_enable(uint8 lchip, uint32 gport, ctc_vlan_class_type_t* p_type);
extern int32 ctcs_port_get_vlan_ctl(uint8 lchip, uint32 gport, ctc_vlantag_ctl_t* p_mode);
extern int32 ctcs_port_get_vlan_domain(uint8 lchip, uint32 gport, ctc_port_vlan_domain_type_t* p_vlan_domain);
extern int32 ctcs_port_get_vlan_filter_en(uint8 lchip, uint32 gport, ctc_direction_t dir, bool* p_enable);
extern int32 ctcs_port_get_vlan_mapping_en(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_port_get_vlan_range(uint8 lchip, uint32 gport, ctc_vlan_range_info_t* p_vrange_info, bool* p_enable);
extern int32 ctcs_port_init(uint8 lchip, void* p_port_global_cfg);
extern int32 ctcs_port_set_auto_neg(uint8 lchip, uint32 gport, uint32 value);
extern int32 ctcs_port_set_bridge_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_cpu_mac_en(uint8 lchip, bool enable);
extern int32 ctcs_port_set_cross_connect(uint8 lchip, uint32 gport, uint32 nhid);
extern int32 ctcs_port_set_default_cfg(uint8 lchip, uint32 gport);
extern int32 ctcs_port_set_default_vlan(uint8 lchip, uint32 gport, uint16 vid);
extern int32 ctcs_port_set_direction_property(uint8 lchip, uint32 gport, ctc_port_direction_property_t port_prop, ctc_direction_t dir, uint32 value);
extern int32 ctcs_port_set_dot1q_type(uint8 lchip, uint32 gport, ctc_dot1q_type_t type);
extern int32 ctcs_port_set_flow_ctl_en(uint8 lchip, ctc_port_fc_prop_t* p_fc_prop);
extern int32 ctcs_port_set_ipg(uint8 lchip, uint32 gport, ctc_ipg_size_t index);
extern int32 ctcs_port_set_ipsg_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_keep_vlan_tag(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_learning_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_link_intr(uint8 lchip, uint32 gport, uint32 value);
extern int32 ctcs_port_set_loopback(uint8 lchip, ctc_port_lbk_param_t* p_port_lbk);
extern int32 ctcs_port_set_mac_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_max_frame(uint8 lchip, uint32 gport, uint32 value);
extern int32 ctcs_port_set_min_frame_size(uint8 lchip, uint32 gport, uint8 size);
extern int32 ctcs_port_set_mux_demux_en(uint8 lchip, uint32 gport, ctc_port_mux_demux_type_t type, bool enable);
extern int32 ctcs_port_set_pading_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_phy_if_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_port_check_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_port_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_port_mac_postfix(uint8 lchip, uint32 gport, ctc_port_mac_postfix_t* p_port_mac);
extern int32 ctcs_port_set_port_mac_prefix(uint8 lchip, ctc_port_mac_prefix_t* p_port_mac);
extern int32 ctcs_port_set_preamble(uint8 lchip, uint32 gport, uint8 pre_bytes);
extern int32 ctcs_port_set_property(uint8 lchip, uint32 gport, ctc_port_property_t port_prop, uint32 value);
extern int32 ctcs_port_set_protocol_vlan_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_random_log_en(uint8 lchip, uint32 gport, ctc_direction_t dir, bool enable);
extern int32 ctcs_port_set_random_log_percent(uint8 lchip, uint32 gport, ctc_direction_t dir, uint8 percent);
extern int32 ctcs_port_set_receive_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_reflective_bridge_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_restriction(uint8 lchip, uint32 gport, ctc_port_restriction_t* p_restriction);
extern int32 ctcs_port_set_scl_key_type(uint8 lchip, uint32 gport, ctc_direction_t dir, uint8 scl_id, ctc_port_scl_key_type_t type);
extern int32 ctcs_port_set_scl_property(uint8 lchip, uint32 gport, ctc_port_scl_property_t* prop);
extern int32 ctcs_port_set_speed(uint8 lchip, uint32 gport, ctc_port_speed_t speed_mode);
extern int32 ctcs_port_set_srcdiscard_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_stag_tpid_index(uint8 lchip, uint32 gport, ctc_direction_t dir, uint8 index);
extern int32 ctcs_port_set_stretch_mode_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_sub_if_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_transmit_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_untag_dft_vid(uint8 lchip, uint32 gport, bool enable, bool untag_svlan);
extern int32 ctcs_port_set_use_inner_cos(uint8 lchip, uint32 gport, bool is_inner);
extern int32 ctcs_port_set_use_outer_ttl(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_vlan_classify_disable(uint8 lchip, uint32 gport, ctc_vlan_class_type_t type);
extern int32 ctcs_port_set_vlan_classify_enable(uint8 lchip, uint32 gport, ctc_vlan_class_type_t type);
extern int32 ctcs_port_set_vlan_ctl(uint8 lchip, uint32 gport, ctc_vlantag_ctl_t mode);
extern int32 ctcs_port_set_vlan_domain(uint8 lchip, uint32 gport, ctc_port_vlan_domain_type_t vlan_domain);
extern int32 ctcs_port_set_vlan_filter_en(uint8 lchip, uint32 gport, ctc_direction_t dir, bool enable);
extern int32 ctcs_port_set_vlan_mapping_en(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_port_set_vlan_range(uint8 lchip, uint32 gport, ctc_vlan_range_info_t* p_vrange_info, bool enable);
extern int32 ctcs_set_ipg_size(uint8 lchip, ctc_ipg_size_t index, uint8 size);
extern int32 ctcs_set_max_frame_size(uint8 lchip, ctc_frame_size_t index, uint16 value);
extern int32 ctcs_set_min_frame_size(uint8 lchip, ctc_frame_size_t index, uint16 value);
extern int32 ctcs_ptp_add_device_clock(uint8 lchip, ctc_ptp_clock_t* clock);
extern int32 ctcs_ptp_adjust_clock_offset(uint8 lchip, ctc_ptp_time_t* p_offset);
extern int32 ctcs_ptp_clear_sync_intf_code(uint8 lchip);
extern int32 ctcs_ptp_clear_tod_intf_code(uint8 lchip);
extern int32 ctcs_ptp_get_adjust_delay(uint8 lchip, uint32 gport, ctc_ptp_adjust_delay_type_t type, int64* value);
extern int32 ctcs_ptp_get_captured_frc_ts(uint8 lchip, ctc_ptp_time_t* p_ts);
extern int32 ctcs_ptp_get_captured_rx_ts(uint8 lchip, ctc_ptp_time_t* p_ts);
extern int32 ctcs_ptp_get_captured_ts(uint8 lchip, ctc_ptp_capured_ts_t* p_captured_ts);
extern int32 ctcs_ptp_get_captured_tx_ts(uint8 lchip, ctc_ptp_capured_ts_t* p_ts);
extern int32 ctcs_ptp_get_clock_drift(uint8 lchip, ctc_ptp_time_t* p_drift);
extern int32 ctcs_ptp_get_clock_timestamp(uint8 lchip, ctc_ptp_time_t* p_timestamp);
extern int32 ctcs_ptp_get_device_type(uint8 lchip, ctc_ptp_device_type_t* p_device_type);
extern int32 ctcs_ptp_get_frc_offset(uint8 lchip, ctc_ptp_time_t* p_frc_offset);
extern int32 ctcs_ptp_get_frc(uint8 lchip, ctc_ptp_time_t* p_frc);
extern int32 ctcs_ptp_get_global_property(uint8 lchip, ctc_ptp_global_prop_t property, uint32* value);
extern int32 ctcs_ptp_get_intr_bitmap(uint8 lchip, uint32* ptp_isr_bitmap);
extern int32 ctcs_ptp_get_sync_intf_code(uint8 lchip, ctc_ptp_sync_intf_code_t* p_time_code);
extern int32 ctcs_ptp_get_sync_intf_toggle_time(uint8 lchip, ctc_ptp_time_t* p_toggle_time);
extern int32 ctcs_ptp_get_sync_intf(uint8 lchip, ctc_ptp_sync_intf_cfg_t* p_sync_cfg);
extern int32 ctcs_ptp_get_tod_intf_rx_code(uint8 lchip, ctc_ptp_tod_intf_code_t* p_rx_code);
extern int32 ctcs_ptp_get_tod_intf_tx_code(uint8 lchip, ctc_ptp_tod_intf_code_t* p_tx_code);
extern int32 ctcs_ptp_get_tod_intf(uint8 lchip, ctc_ptp_tod_intf_cfg_t* p_tod_cfg);
extern int32 ctcs_ptp_init(uint8 lchip, ctc_ptp_global_config_t* p_ptp_cfg);
extern int32 ctcs_ptp_port_enable(uint8 lchip, uint32 gport, bool ptp_enable);
extern int32 ctcs_ptp_remove_device_clock(uint8 lchip, ctc_ptp_clock_t* clock);
extern int32 ctcs_ptp_set_adjust_delay(uint8 lchip, uint32 gport, ctc_ptp_adjust_delay_type_t type, int64 value);
extern int32 ctcs_ptp_set_clock_drift(uint8 lchip, ctc_ptp_time_t* p_drift);
extern int32 ctcs_ptp_set_device_type(uint8 lchip, ctc_ptp_device_type_t device_type);
extern int32 ctcs_ptp_set_frc_offset(uint8 lchip, ctc_ptp_time_t* p_frc_offset);
extern int32 ctcs_ptp_set_global_property(uint8 lchip, ctc_ptp_global_prop_t property, uint32 value);
extern int32 ctcs_ptp_set_sync_intf_toggle_time(uint8 lchip, ctc_ptp_time_t* p_toggle_time);
extern int32 ctcs_ptp_set_sync_intf(uint8 lchip, ctc_ptp_sync_intf_cfg_t* p_sync_cfg);
extern int32 ctcs_ptp_set_tod_intf_tx_code(uint8 lchip, ctc_ptp_tod_intf_code_t* p_tx_code);
extern int32 ctcs_ptp_set_tod_intf(uint8 lchip, ctc_ptp_tod_intf_cfg_t* p_tod_cfg);
extern int32 ctcs_ptp_sync_intf_set_capture_ctl_mode(uint8 lchip, uint8 capture_mode);
extern int32 ctcs_qos_clear_policer_stats(uint8 lchip, ctc_qos_policer_stats_t* p_policer_stats);
extern int32 ctcs_qos_clear_queue_stats(uint8 lchip, ctc_qos_queue_stats_t* p_queue_stats);
extern int32 ctcs_qos_create_service(uint8 lchip, ctc_qos_service_info_t* p_service);
extern int32 ctcs_qos_destroy_service(uint8 lchip, ctc_qos_service_info_t* p_service);
extern int32 ctcs_qos_get_domain_map(uint8 lchip, ctc_qos_domain_map_t* p_domain_map);
extern int32 ctcs_qos_get_drop_scheme(uint8 lchip, ctc_qos_drop_t* p_drop);
extern int32 ctcs_qos_get_global_config(uint8 lchip, ctc_qos_glb_cfg_t* p_glb_cfg);
extern int32 ctcs_qos_get_policer(uint8 lchip, ctc_qos_policer_t* p_policer);
extern int32 ctcs_qos_get_queue(uint8 lchip, ctc_qos_queue_cfg_t* p_que_cfg);
extern int32 ctcs_qos_get_sched(uint8 lchip, ctc_qos_sched_t* p_sched);
extern int32 ctcs_qos_get_shape(uint8 lchip, ctc_qos_shape_t* p_shape);
extern int32 ctcs_qos_init(uint8 lchip, void* p_glb_parm);
extern int32 ctcs_qos_query_policer_stats(uint8 lchip, ctc_qos_policer_stats_t* p_policer_stats);
extern int32 ctcs_qos_query_pool_stats(uint8 lchip, ctc_qos_resrc_pool_stats_t* p_stats);
extern int32 ctcs_qos_query_queue_stats(uint8 lchip, ctc_qos_queue_stats_t* p_queue_stats);
extern int32 ctcs_qos_set_domain_map(uint8 lchip, ctc_qos_domain_map_t* p_domain_map);
extern int32 ctcs_qos_set_drop_scheme(uint8 lchip, ctc_qos_drop_t* p_drop);
extern int32 ctcs_qos_set_global_config(uint8 lchip, ctc_qos_glb_cfg_t* p_glb_cfg);
extern int32 ctcs_qos_set_policer(uint8 lchip, ctc_qos_policer_t* p_policer);
extern int32 ctcs_qos_set_queue(uint8 lchip, ctc_qos_queue_cfg_t* p_que_cfg);
extern int32 ctcs_qos_set_resrc(uint8 lchip, ctc_qos_resrc_t* p_resrc);
extern int32 ctcs_qos_set_sched(uint8 lchip, ctc_qos_sched_t* p_sched);
extern int32 ctcs_qos_set_shape(uint8 lchip, ctc_qos_shape_t* p_shape);
extern int32 ctcs_global_ctl_get(uint8 lchip, ctc_global_control_type_t type, void* value);
extern int32 ctcs_global_ctl_set(uint8 lchip, ctc_global_control_type_t type, void* value);
extern int32 ctcs_register_init(uint8 lchip, void* p_global_cfg);
extern int32 ctcs_scl_add_entry(uint8 lchip, uint32 group_id, ctc_scl_entry_t* scl_entry);
extern int32 ctcs_scl_copy_entry(uint8 lchip, ctc_scl_copy_entry_t* copy_entry);
extern int32 ctcs_scl_create_group(uint8 lchip, uint32 group_id, ctc_scl_group_info_t* group_info);
extern int32 ctcs_scl_destroy_group(uint8 lchip, uint32 group_id);
extern int32 ctcs_scl_get_group_info(uint8 lchip, uint32 group_id, ctc_scl_group_info_t* group_info);
extern int32 ctcs_scl_get_multi_entry(uint8 lchip, ctc_scl_query_t* query);
extern int32 ctcs_scl_init(uint8 lchip, void* scl_global_cfg);
extern int32 ctcs_scl_install_entry(uint8 lchip, uint32 entry_id);
extern int32 ctcs_scl_install_group(uint8 lchip, uint32 group_id, ctc_scl_group_info_t* group_info);
extern int32 ctcs_scl_remove_all_entry(uint8 lchip, uint32 group_id);
extern int32 ctcs_scl_remove_entry(uint8 lchip, uint32 entry_id);
extern int32 ctcs_scl_set_default_action(uint8 lchip, ctc_scl_default_action_t* def_action);
extern int32 ctcs_scl_set_entry_priority(uint8 lchip, uint32 entry_id, uint32 priority);
extern int32 ctcs_scl_set_hash_field_sel(uint8 lchip, ctc_scl_hash_field_sel_t* field_sel);
extern int32 ctcs_scl_uninstall_entry(uint8 lchip, uint32 entry_id);
extern int32 ctcs_scl_uninstall_group(uint8 lchip, uint32 group_id);
extern int32 ctcs_scl_update_action(uint8 lchip, uint32 entry_id, ctc_scl_action_t* action);
extern int32 ctcs_ip_source_guard_add_entry(uint8 lchip, ctc_security_ip_source_guard_elem_t* p_elem);
extern int32 ctcs_ip_source_guard_remove_entry(uint8 lchip, ctc_security_ip_source_guard_elem_t* p_elem);
extern int32 ctcs_mac_security_get_learn_limit(uint8 lchip, ctc_security_learn_limit_t* p_learn_limit);
extern int32 ctcs_mac_security_get_port_mac_limit(uint8 lchip, uint32 gport, ctc_maclimit_action_t* action);
extern int32 ctcs_mac_security_get_port_security(uint8 lchip, uint32 gport, bool* p_enable);
extern int32 ctcs_mac_security_get_system_mac_limit(uint8 lchip, ctc_maclimit_action_t* action);
extern int32 ctcs_mac_security_get_vlan_mac_limit(uint8 lchip, uint16 vlan_id, ctc_maclimit_action_t* action);
extern int32 ctcs_mac_security_set_learn_limit(uint8 lchip, ctc_security_learn_limit_t* p_learn_limit);
extern int32 ctcs_mac_security_set_port_mac_limit(uint8 lchip, uint32 gport, ctc_maclimit_action_t action);
extern int32 ctcs_mac_security_set_port_security(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_mac_security_set_system_mac_limit(uint8 lchip, ctc_maclimit_action_t action);
extern int32 ctcs_mac_security_set_vlan_mac_limit(uint8 lchip, uint16 vlan_id, ctc_maclimit_action_t action);
extern int32 ctcs_port_isolation_get_route_obey_isolated_en(uint8 lchip, bool* p_enable);
extern int32 ctcs_port_isolation_set_route_obey_isolated_en(uint8 lchip, bool enable);
extern int32 ctcs_security_init(uint8 lchip, void* security_global_cfg);
extern int32 ctcs_storm_ctl_get_cfg(uint8 lchip, ctc_security_stmctl_cfg_t* stmctl_cfg);
extern int32 ctcs_storm_ctl_get_global_cfg(uint8 lchip, ctc_security_stmctl_glb_cfg_t* p_glb_cfg);
extern int32 ctcs_storm_ctl_set_cfg(uint8 lchip, ctc_security_stmctl_cfg_t* stmctl_cfg);
extern int32 ctcs_storm_ctl_set_global_cfg(uint8 lchip, ctc_security_stmctl_glb_cfg_t* p_glb_cfg);
extern int32 ctcs_sgmac_add_trunk_member(uint8 lchip, uint8 trunk_id, uint8 lport);
extern int32 ctcs_sgmac_get_dual_mode(uint8 lchip, bool* enable);
extern int32 ctcs_sgmac_get_port_egress_vlan_mapping(uint8 lchip, uint32 gport, bool* enable);
extern int32 ctcs_sgmac_get_register_base(uint8 lchip, ctc_sgmac_reg_base_t flag, uint16* reg_base);
extern int32 ctcs_sgmac_get_trunk_en(uint8 lchip, bool* enable);
extern int32 ctcs_sgmac_get_vlan_pfm(uint8 lchip, uint16 vlan_id, uint8* pfm);
extern int32 ctcs_sgmac_get_vplssrcport_enable(uint8 lchip, uint16 logic_port, bool* enable);
extern int32 ctcs_sgmac_init(uint8 lchip, ctc_sgmac_t* p_sgmac);
extern int32 ctcs_sgmac_linkagg_add_member(uint8 lchip, uint8 tid, uint32 gport);
extern int32 ctcs_sgmac_linkagg_create(uint8 lchip, uint8 tid);
extern int32 ctcs_sgmac_linkagg_remove_member(uint8 lchip, uint8 tid, uint32 gport);
extern int32 ctcs_sgmac_linkagg_remove(uint8 lchip, uint8 tid);
extern int32 ctcs_sgmac_remove_trunk_member(uint8 lchip, uint8 trunk_id, uint8 lport);
extern int32 ctcs_sgmac_set_dual_mode(uint8 lchip, bool enable);
extern int32 ctcs_sgmac_set_port_egress_vlan_mapping(uint8 lchip, uint32 gport, bool enable);
extern int32 ctcs_sgmac_set_register_base(uint8 lchip, ctc_sgmac_reg_base_t flag, uint16 reg_base);
extern int32 ctcs_sgmac_set_trunk_en(uint8 lchip, bool enable);
extern int32 ctcs_sgmac_set_vlan_pfm(uint8 lchip, uint16 vlan_id, uint8 pfm);
extern int32 ctcs_sgmac_set_vplssrcport_enable(uint8 lchip, uint16 logic_port, bool enable);
extern int32 ctcs_sgmac_show_qmgr_sgmac_ctl(uint8 lchip);
extern int32 ctcs_stacking_add_trunk_port(uint8 lchip, ctc_stacking_trunk_t* p_trunk);
extern int32 ctcs_stacking_add_trunk_rchip(uint8 lchip, ctc_stacking_trunk_t* p_trunk);
extern int32 ctcs_stacking_create_trunk(uint8 lchip, ctc_stacking_trunk_t* p_trunk);
extern int32 ctcs_stacking_destroy_trunk(uint8 lchip, ctc_stacking_trunk_t* p_trunk);
extern int32 ctcs_stacking_get_property(uint8 lchip, ctc_stacking_property_t* p_prop);
extern int32 ctcs_stacking_init(uint8 lchip, void* p_cfg);
extern int32 ctcs_stacking_keeplive_add_member(uint8 lchip, ctc_stacking_keeplive_t* p_keeplive);
extern int32 ctcs_stacking_keeplive_remove_member(uint8 lchip, ctc_stacking_keeplive_t* p_keeplive);
extern int32 ctcs_stacking_remove_trunk_port(uint8 lchip, ctc_stacking_trunk_t* p_trunk);
extern int32 ctcs_stacking_remove_trunk_rchip(uint8 lchip, ctc_stacking_trunk_t* p_trunk);
extern int32 ctcs_stacking_set_property(uint8 lchip, ctc_stacking_property_t* p_prop);
extern int32 ctcs_stats_clear_cpu_mac_stats(uint8 lchip, uint32 gport);
extern int32 ctcs_stats_clear_global_fwd_stats(uint8 lchip, ctc_direction_t dir);
extern int32 ctcs_stats_clear_mac_stats(uint8 lchip, uint32 gport, ctc_mac_stats_dir_t dir);
extern int32 ctcs_stats_clear_port_log_stats(uint8 lchip, uint32 gport, ctc_direction_t dir);
extern int32 ctcs_stats_clear_port_stats(uint8 lchip, uint32 gport, ctc_direction_t dir);
extern int32 ctcs_stats_clear_stats(uint8 lchip, uint32 stats_id);
extern int32 ctcs_stats_create_statsid(uint8 lchip, ctc_stats_statsid_t* statsid);
extern int32 ctcs_stats_destroy_statsid(uint8 lchip, uint32 stats_id);
extern int32 ctcs_stats_get_cpu_mac_stats(uint8 lchip, uint32 gport, ctc_cpu_mac_stats_t* p_stats);
extern int32 ctcs_stats_get_drop_packet_stats_en(uint8 lchip, ctc_stats_discard_t bitmap, bool* enable);
extern int32 ctcs_stats_get_global_cfg(uint8 lchip, ctc_stats_property_param_t stats_param, ctc_stats_property_t* p_stats_prop);
extern int32 ctcs_stats_get_mac_stats_cfg(uint8 lchip, uint32 gport, ctc_mac_stats_prop_type_t mac_stats_prop_type, ctc_mac_stats_property_t* p_prop_data);
extern int32 ctcs_stats_get_mac_stats(uint8 lchip, uint32 gport, ctc_mac_stats_dir_t dir, ctc_mac_stats_t* p_stats);
extern int32 ctcs_stats_get_port_log_stats(uint8 lchip, uint32 gport, ctc_direction_t dir, ctc_stats_basic_t* p_stats);
extern int32 ctcs_stats_get_port_stats_cfg(uint8 lchip, ctc_direction_t dir, ctc_stats_port_stats_option_type_t* p_type);
extern int32 ctcs_stats_get_stats(uint8 lchip, uint32 stats_id, ctc_stats_basic_t* p_stats);
extern int32 ctcs_stats_init(uint8 lchip, void* stats_global_cfg);
extern int32 ctcs_stats_intr_callback_func(uint8 lchip, uint8* gchip);
extern int32 ctcs_stats_register_cb(uint8 lchip, ctc_stats_sync_fn_t cb, void* userdata);
extern int32 ctcs_stats_set_drop_packet_stats_en(uint8 lchip, ctc_stats_discard_t bitmap, bool enable);
extern int32 ctcs_stats_set_global_cfg(uint8 lchip, ctc_stats_property_param_t stats_param, ctc_stats_property_t stats_prop);
extern int32 ctcs_stats_set_mac_stats_cfg(uint8 lchip, uint32 gport, ctc_mac_stats_prop_type_t mac_stats_prop_type, ctc_mac_stats_property_t prop_data);
extern int32 ctcs_stats_set_port_stats_cfg(uint8 lchip, ctc_direction_t dir, ctc_stats_port_stats_option_type_t type);
extern int32 ctcs_stats_set_syncup_cb_internal(uint8 lchip, uint32 stats_interval);
extern int32 ctcs_stp_clear_all_inst_state(uint8 lchip, uint32 gport);
extern int32 ctcs_stp_get_state(uint8 lchip, uint32 gport, uint8 stpid, uint8* state);
extern int32 ctcs_stp_get_vlan_stpid(uint8 lchip, uint16 vlan_id, uint8* stpid);
extern int32 ctcs_stp_init(uint8 lchip, void* stp_global_cfg);
extern int32 ctcs_stp_set_state(uint8 lchip, uint32 gport, uint8 stpid, uint8 state);
extern int32 ctcs_stp_set_vlan_stpid(uint8 lchip, uint16 vlan_id, uint8 stpid);
extern int32 ctcs_sync_ether_get_cfg(uint8 lchip, uint8 sync_ether_clock_id, ctc_sync_ether_cfg_t* p_sync_ether_cfg);
extern int32 ctcs_sync_ether_init(uint8 lchip, void* sync_ether_global_cfg);
extern int32 ctcs_sync_ether_set_cfg(uint8 lchip, uint8 sync_ether_clock_id, ctc_sync_ether_cfg_t* p_sync_ether_cfg);
extern int32 ctcs_trill_add_route(uint8 lchip, ctc_trill_route_t* p_trill_route);
extern int32 ctcs_trill_add_tunnel(uint8 lchip, ctc_trill_tunnel_t* p_trill_tunnel);
extern int32 ctcs_trill_init(uint8 lchip, void* trill_global_cfg);
extern int32 ctcs_trill_remove_route(uint8 lchip, ctc_trill_route_t* p_trill_route);
extern int32 ctcs_trill_remove_tunnel(uint8 lchip, ctc_trill_tunnel_t* p_trill_tunnel);
extern int32 ctcs_usrid_init(uint8 lchip, void* usrid_global_cfg);
extern int32 ctcs_vlan_add_default_egress_vlan_mapping(uint8 lchip, uint32 gport, ctc_vlan_miss_t* p_action);
extern int32 ctcs_vlan_add_default_vlan_class(uint8 lchip, ctc_vlan_class_type_t type, ctc_vlan_miss_t* p_action);
extern int32 ctcs_vlan_add_default_vlan_mapping(uint8 lchip, uint32 gport, ctc_vlan_miss_t* p_action);
extern int32 ctcs_vlan_add_egress_vlan_mapping(uint8 lchip, uint32 gport, ctc_egress_vlan_mapping_t* p_vlan_mapping);
extern int32 ctcs_vlan_add_port(uint8 lchip, uint16 vlan_id, uint32 gport);
extern int32 ctcs_vlan_add_vlan_class(uint8 lchip, ctc_vlan_class_t* p_vlan_class);
extern int32 ctcs_vlan_add_vlan_mapping(uint8 lchip, uint32 gport, ctc_vlan_mapping_t* p_vlan_mapping);
extern int32 ctcs_vlan_add_vlan_range(uint8 lchip, ctc_vlan_range_info_t* vrange_info, ctc_vlan_range_t* vlan_range);
extern int32 ctcs_vlan_create_uservlan(uint8 lchip, ctc_vlan_uservlan_t* user_vlan);
extern int32 ctcs_vlan_create_vlan_range_group(uint8 lchip, ctc_vlan_range_info_t* vrange_info, bool is_svlan);
extern int32 ctcs_vlan_create_vlan(uint8 lchip, uint16 vlan_id);
extern int32 ctcs_vlan_destroy_vlan_range_group(uint8 lchip, ctc_vlan_range_info_t* vrange_info);
extern int32 ctcs_vlan_destroy_vlan(uint8 lchip, uint16 vlan_id);
extern int32 ctcs_vlan_get_arp_excp_type(uint8 lchip, uint16 vlan_id, ctc_exception_type_t* type);
extern int32 ctcs_vlan_get_bridge_en(uint8 lchip, uint16 vlan_id, bool* enable);
extern int32 ctcs_vlan_get_dhcp_excp_type(uint8 lchip, uint16 vlan_id, ctc_exception_type_t* type);
extern int32 ctcs_vlan_get_direction_property(uint8 lchip, uint16 vlan_id, ctc_vlan_direction_property_t vlan_prop, ctc_direction_t dir, uint32* value);
extern int32 ctcs_vlan_get_fid(uint8 lchip, uint16 vlan_id, uint16* fid);
extern int32 ctcs_vlan_get_igmp_snoop_en(uint8 lchip, uint16 vlan_id, bool* enable);
extern int32 ctcs_vlan_get_learning_en(uint8 lchip, uint16 vlan_id, bool* enable);
extern int32 ctcs_vlan_get_ports(uint8 lchip, uint16 vlan_id, uint8 gchip, ctc_port_bitmap_t port_bitmap);
extern int32 ctcs_vlan_get_property(uint8 lchip, uint16 vlan_id, ctc_vlan_property_t vlan_prop, uint32* value);
extern int32 ctcs_vlan_get_receive_en(uint8 lchip, uint16 vlan_id, bool* enable);
extern int32 ctcs_vlan_get_replace_dspc_en(uint8 lchip, uint16 vlan_id, bool* enable);
extern int32 ctcs_vlan_get_tagged_ports(uint8 lchip, uint16 vlan_id, uint8 gchip, ctc_port_bitmap_t port_bitmap);
extern int32 ctcs_vlan_get_transmit_en(uint8 lchip, uint16 vlan_id, bool* enable);
extern int32 ctcs_vlan_get_vlan_range_type(uint8 lchip, ctc_vlan_range_info_t* vrange_info, bool* is_svlan);
extern int32 ctcs_vlan_get_vlan_range(uint8 lchip, ctc_vlan_range_info_t* vrange_info, ctc_vlan_range_group_t* vrange_group, uint8* count);
extern int32 ctcs_vlan_init(uint8 lchip, ctc_vlan_global_cfg_t* vlan_global_cfg);
extern int32 ctcs_vlan_remove_all_egress_vlan_mapping_by_port(uint8 lchip, uint32 gport);
extern int32 ctcs_vlan_remove_all_vlan_class(uint8 lchip, ctc_vlan_class_type_t type);
extern int32 ctcs_vlan_remove_all_vlan_mapping_by_port(uint8 lchip, uint32 gport);
extern int32 ctcs_vlan_remove_default_egress_vlan_mapping(uint8 lchip, uint32 gport);
extern int32 ctcs_vlan_remove_default_vlan_class(uint8 lchip, ctc_vlan_class_type_t type);
extern int32 ctcs_vlan_remove_default_vlan_mapping(uint8 lchip, uint32 gport);
extern int32 ctcs_vlan_remove_egress_vlan_mapping(uint8 lchip, uint32 gport, ctc_egress_vlan_mapping_t* p_vlan_mapping);
extern int32 ctcs_vlan_remove_port(uint8 lchip, uint16 vlan_id, uint32 gport);
extern int32 ctcs_vlan_remove_vlan_class(uint8 lchip, ctc_vlan_class_t* p_vlan_class);
extern int32 ctcs_vlan_remove_vlan_mapping(uint8 lchip, uint32 gport, ctc_vlan_mapping_t* p_vlan_mapping);
extern int32 ctcs_vlan_remove_vlan_range(uint8 lchip, ctc_vlan_range_info_t* vrange_info, ctc_vlan_range_t* vlan_range);
extern int32 ctcs_vlan_set_arp_excp_type(uint8 lchip, uint16 vlan_id, ctc_exception_type_t type);
extern int32 ctcs_vlan_set_bridge_en(uint8 lchip, uint16 vlan_id, bool enable);
extern int32 ctcs_vlan_set_dhcp_excp_type(uint8 lchip, uint16 vlan_id, ctc_exception_type_t type);
extern int32 ctcs_vlan_set_direction_property(uint8 lchip, uint16 vlan_id, ctc_vlan_direction_property_t vlan_prop, ctc_direction_t dir, uint32 value);
extern int32 ctcs_vlan_set_fid(uint8 lchip, uint16 vlan_id, uint16 fid);
extern int32 ctcs_vlan_set_igmp_snoop_en(uint8 lchip, uint16 vlan_id, bool enable);
extern int32 ctcs_vlan_set_learning_en(uint8 lchip, uint16 vlan_id, bool enable);
extern int32 ctcs_vlan_set_property(uint8 lchip, uint16 vlan_id, ctc_vlan_property_t vlan_prop, uint32 value);
extern int32 ctcs_vlan_set_receive_en(uint8 lchip, uint16 vlan_id, bool enable);
extern int32 ctcs_vlan_set_replace_dscp_en(uint8 lchip, uint16 vlan_id, bool enable);
extern int32 ctcs_vlan_set_tagged_port(uint8 lchip, uint16 vlan_id, uint32 gport, bool tagged);
extern int32 ctcs_vlan_set_transmit_en(uint8 lchip, uint16 vlan_id, bool enable);
extern int32 ctcs_vlan_update_vlan_mapping(uint8 lchip, uint32 gport, ctc_vlan_mapping_t* p_vlan_mapping);
 
#ifdef __cplusplus
}
#endif
#endif
